Cache-oblivious algorithms are designed to be executed on the ideal-cache machine, an abstract machine which faithfully models real-world machines with hierarchical memory. Algorithms for the ideal-cache machine, as well as algorithm for the RAM, work with a semi-infinite memory space. But while in the uniform RAM model it is assumed that every memory access has the same cost, which is incorrect for large data sets, the semi-infinite memory of the ideal-cache machine models the virtual memory space of a computer, and block transfers to a faster memory level are taken into account by the model. Nevertheless, implementing cache-oblivious algorithms and data structures is not an easy task, because they use peculiar techniques that are not (easily) supported by general purpose programming languages and environments such as C, C++, or Java.
A Platform for Engineering Cache-Oblivious Algorithms and Data Structures: The Architecture / Luca, Allulli; D'Amore, Fabrizio; Enrico, Puddu. - In: OBERWOLFACH REPORTS. - ISSN 1660-8933. - STAMPA. - 4:(2007), pp. 1434-1437. (Intervento presentato al convegno Algorithm Engineering 2007 tenutosi a Oberwolfach-Walke; Germany) [10.4171/OWR].
A Platform for Engineering Cache-Oblivious Algorithms and Data Structures: The Architecture
D'AMORE, Fabrizio
Co-primo
Supervision
;
2007
Abstract
Cache-oblivious algorithms are designed to be executed on the ideal-cache machine, an abstract machine which faithfully models real-world machines with hierarchical memory. Algorithms for the ideal-cache machine, as well as algorithm for the RAM, work with a semi-infinite memory space. But while in the uniform RAM model it is assumed that every memory access has the same cost, which is incorrect for large data sets, the semi-infinite memory of the ideal-cache machine models the virtual memory space of a computer, and block transfers to a faster memory level are taken into account by the model. Nevertheless, implementing cache-oblivious algorithms and data structures is not an easy task, because they use peculiar techniques that are not (easily) supported by general purpose programming languages and environments such as C, C++, or Java.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.