1. An apparatus comprising: one or more memory storage structures; an operating system running on the apparatus; one or more software programs running on the apparatus; a generator that generates memory access operations in response to the operating system or the one or more software programs; an assignor that assigns color information to memory access operations based on color designations specified by the operating system or the one or more software programs, wherein the color information comprises a thread identifier, a process identifier, or a processor identifier; wherein the color information serves as a basis for monitoring and for providing feedback which enables runtime optimizations; and a receiver that receives and records memory access color information in the one or more storage structures; wherein apparatus hardware is configured to distinguish between memory access operations with different colors and monitor memory access operations and enforcement of memory utilization based on color information; and wherein the assignor assigns a color based on the execution of one or more color instructions which comprise an ASSIGN COLOR color instruction configured to accept color and address parameters, and the ASSIGN COLOR color instruction assigns a designated color specified by the color parameter to a designated address specified by the address parameter so that subsequent memory access operations to the designated address are assigned the designated color, until a SET COLOR instruction or RESET COLOR instruction is executed to assign a color to all subsequent memory accesses.