Implicit transactional memory in kilo-instruction multiprocessors

Although they have been the main server technology for many years, multiprocessors are undergoing a renaissance due to multi-core chips and the attractive scalability properties of combining a number of such multi-core chips into a system. The widespread use of multiprocessor systems will make perfo...

Descripción completa

Detalles Bibliográficos
Autores: Galluzzi, Marco, Vallejo, Enrique, Cristal Kestelman, Adrián|||0000-0003-1277-9296, Vallejo, Fernando, Beivide Palacio, Julio Ramon, Stenström, Per, Smith, James E., Valero Cortés, Mateo|||0000-0003-2917-2482
Tipo de recurso: informe técnico
Fecha de publicación:2007
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/108082
Acceso en línea:https://hdl.handle.net/2117/108082
Access Level:acceso abierto
Palabra clave:Multiprocessors
Kilo-instruction multiprocessors
Implicit transaction
Memory consistency
Multiprocessadors
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors
Descripción
Sumario:Although they have been the main server technology for many years, multiprocessors are undergoing a renaissance due to multi-core chips and the attractive scalability properties of combining a number of such multi-core chips into a system. The widespread use of multiprocessor systems will make performance losses due to consistency models and synchronization styles of popular programming models even more evident than they already are. Known architectural approaches to combat these losses are generally too complex, too specialized, or not transparent to software. In this article, we introduce implicit transactional memory as a generalized architectural concept to remove unnecessary performance losses caused by consistency models and synchronization styles. We show how the concept of implicit transactions can be implemented with low complexity by leveraging the multi-checkpoint mechanism of the Kilo-Instruction Processor. By relying on a general speculation substrate, this method supports even the strictest consistency model – sequential consistency – potentially as effectively as weaker models and it allows multiple threads to speculatively execute critical sections, beyond barriers and event synchronizations.