• No results found

Transparent restructuring of pointer- linked data structures Spek, H.L.A. van der

N/A
N/A
Protected

Academic year: 2021

Share "Transparent restructuring of pointer- linked data structures Spek, H.L.A. van der"

Copied!
3
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Transparent restructuring of pointer- linked data structures

Spek, H.L.A. van der

Citation

Spek, H. L. A. van der. (2010, December 7). Transparent restructuring of pointer-linked data structures. ASCI dissertation series. Uitgeverij BOXPress, Oisterwijk.

Retrieved from https://hdl.handle.net/1887/16210 Version: Corrected Publisher’s Version License:

Licence agreement concerning inclusion of doctoral thesis in the Institutional Repository of the University of Leiden

Downloaded from: https://hdl.handle.net/1887/16210

Note: To cite this publication please use the final

published version (if applicable).

(2)

Proefschrift specifiek

1. Herstructurende technieken voor datastructuren die met pointers opgebouwd zijn vormen de basis voor vergaande optimalisatie van code en data. (Hoofdstuk 6) 2. Data structuren die conform hun typedefinitie gebruikt worden, kunnen met de-

zelfde technieken geoptimaliseerd worden die beschikbaar zijn voor Fortran codes die gebruik maken van index vectoren. (Hoofdstuk 7)

3. Onregelmatigheid wordt vaak ge¨ınterpreteerd als de mate van onvoorspelbaarheid van opeenvolgende referenties naar het geheugen. Dit is te simplistisch. Pro- gramma’s kunnen onregelmatig gedrag vertonen wanneer naar de kleinste details gekeken wordt en tegelijk regelmatig gedrag als er naar een hoger niveau gekeken wordt en omgekeerd. (Hoofdstuk 3)

4. Om de problemen met de alsmaar groeiende kloof tussen de snelheid waarmee een processor data kan verwerken en de hoeveelheid data die het geheugen kan aanbieden aan te pakken zijn compacte representaties van zowel code als data nodig.

De optimalisatie van code en data bewerkstelligen zo’n representatie impliciet door het doorlopen van pointer kettingen te elimineren. (Hoofdstuk 7, 8 and 9) Vakgebied specifiek

1. De computersystemen gemeenschap is te gefocust op directe resultaten, complete implementaties en het meten van snelheidsverbeteringen. Fundamenteel nieuwe inzichten en technieken, waarvan de implementatie complex en dus vaak nog in- compleet is, worden zo verstikt en krijgen niet de aandacht die zij verdienen.

2. De huidige hype dat de toekomst van computers in parallele systemem ligt, is niet gerechtvaardigd. De toekomst van computers heeft daar altijd al gelegen.

Tot voor kort waren parallelle technieken zoals pipelining en het uitvoeren van meerdere onafhankelijke instructies tegelijk niet zichtbaar doordat de instructie set een sequenti¨ele interface bood. De nieuwe uitdaging is nu om een toepasselijke sequenti¨ele interface voor het programmeren van multi-core systemen te defini¨eren.

3. Men moet niet aarzelen om kritisch te zijn over de manier waarop code wordt geschreven. Vanwege zowel historische als technische redenen zijn er veel subtiele details die het samen optimaliseren van code en data veel moeilijker maken dan nodig is. Relatief kleine veranderingen in de manier hoe code wordt geschreven kunnen het transformatieproces aanzienlijk eenvoudiger maken.

4. Computersystemen moeten in staat zijn om applicaties aan te sturen. Een voor- beeld hiervan is het plannen van taken die gelijktijdig uitgevoerd moeten worden.

Andere, kleinere details zoals de layout van data en de locatie van data moeten aan- gepast kunnen worden om de subtiele bottlenecks die kunnen ontstaan in multi-core systemen het hoofd te kunnen bieden.

Algemeen

1. Eenden gaan jagen voor “ongedierte” jagen is productiever dan “ongedierte” gaan jagen voor eenden jagen.

2. Als iedere uitvinding perfect zou moeten zijn, dan zou de mensheid geen enkele vooruitgang hebben gemaakt.

3. De pen is machtiger dan het zwaard, maar het toetsenbord overwint beiden.

(3)

Thesis specific

1. Restructuring techniques for pointer-linked data structures provide the foundation for aggressive co-optimization of code and data. (Chapter 6)

2. Type-safe pointer-linked data structures can be optimized using the same techniques that exist for Fortran code using indirection arrays. (Chapter 7)

3. Irregularity is often perceived as the degree of unpredictability in memory reference sequences. This is too simplistic. An application can show irregular behavior at a fine granular level and regular behavior at the large granular level and vice versa.

(Chapter 3)

4. In order to deal with the ever increasing gap between memory bandwidth and maximum throughput of processors, high-density encodings for both data and code are important in the design of high-throughput systems. Co-optimization of code and data provides such encodings implicitly, by eliminating the need for traversing pointer chains. (Chapter 7, 8 and 9)

Field specific

1. The computer systems community is too focused with direct results, complete im- plementations and speedups. Fundamentally new insights and techniques, whose implementation is complex and thus often incomplete in the beginning, are therefore suffocated, and do not get the attention they deserve.

2. The current hype that the future of computing is parallel is unjustified. The future has always been parallel. Until recently, existing parallel techniques for single- core processors, such as pipelining and multiple instruction issuing, were hidden by providing a serial interface: the instruction set. The key challenge today is to define a proper high level serial interface for programming multi-core systems.

3. We should not be hesitant to be critical toward programming practice. Due to both historical and technical reasons, many subtle details make co-optimization of code and data much more difficult than it needs to be. Relatively small changes to programming practice can ease the transformation process considerably.

4. Computer systems should know about and have control over applications. Job co-scheduling is an example of having control over applications, but also low-level details, such as data layout and data location, must be controlled to overcome subtle bottlenecks that may appear on multi-core systems.

General

1. Duck hunting before bug hunting is more productive than bug hunting before duck hunting.

2. If every invention would have to be perfect, mankind would not have made any progress.

3. The pen is mightier than the sword, but the keyboard conquers both.

Referenties

GERELATEERDE DOCUMENTEN

License: Licence agreement concerning inclusion of doctoral thesis in the Institutional Repository of the University of Leiden Downloaded.

These contributions are fundamental to the progress in the field of automatic restructuring and parallelization of code using pointer-linked data structures, an area for which

Status 0 Magazijnkraan Beschikbaar Status 1 Magazijnkraan in gebruik voor track verwerking Status 2 Magazijnkraan In gebruik door vrachtauto Status 0 Team Beschikbaar

In what follows we are giving first, a postcolonial critical assessment of the imago Dei, followed by a postcolonial close-reading of our pericope with a view to a critical

1 and 2, we see that the true density functions of Logistic map and Gauss map can be approximated well with enough observations and the double kernel method works slightly better

Uitwerkingen MULO-A Meetkunde Algemeen 1935.

Briefly, this method leaves out one or several samples and predicts the scores for each variable in turn based on a model that was obtained from the retained samples: For one up to

O’Donnell (1992b: 432) argues that, by being a Gentile, the author/speaker-text “was paradoxically less vulnerable to the seductions of idolatry than the Jews had