Modern microprocessors contain multiple computing elements (cores) that can perform different computations in parallel. Such multi-core processors, however, must share certain hardware resources (e.g., caches, bus bandwidth, power). Current multi-core implementations do not provide any explicit management of the shared resources, thereby resulting in "free-for-all" behaviors where some cores can consume a large and unfair portion of the shared resources. Such an undisciplined approach can lead to severe performance degradations for the other cores, and even lower overall/aggregate system performance. This project proposes to adapt ideas and techniques from online/Internet auctions to manage shared resources in multi-core processors. The central idea is that by providing each core with a limited budget, all cores will "play nicely" since no single core will be able to take control of an unfair portion of the shared resources. Furthermore, each core can intelligently bid on the resources that it will benefit the most from, leading to improved per-core and overall system performance. An additional advantage of leveraging existing online auction algorithms is that significant analysis has already gone into proving various properties of these algorithms, thereby providing a strong theoretical foundation for the proposed multi-core resource management techniques.