{"guid":"ebbffcb1-0370-56db-8f42-85bca992f6fc","title":"Pitfalls for performance: Typical latencies to keep in mind","subtitle":null,"slug":"2018-134-pitfalls-for-performance-typical-latencies-to-keep-in-mind","link":"https://talks.mrmcd.net/2018/talk/ZM3FBK","description":"\"Less computation implies faster code\": Sounds reasonable at a first glance,\nbut a closer inspection considering memory or disk latency numbers\nof modern computer architectures quickly reveals this to be a fallacy.\nIn this talk I will discuss some ballpark latency numbers\nevery programmer should know and hint at implications\nfor designing algorithms in the context of high-performance computing\nas well as scientific simulations.\n\nIn recent years a number of algorithmic approaches have appeared\nin high-performance computing, which are no longer based on storing\nintermediate results on disk or in memory, but which explicitly avoid\nany kind of storage operations as much as possible. Often these\nmethods willingly pay the price of recomputing parts of the intermediate\nresults over and over. As counter-intuitive as it sounds at first,\nthis may reduce runtime provided that recomputation is faster than\ntypical latencies required for operating on the storage medium.\n\nA key aspect to keep in mind in this development is typical\nlatency numbers for access into storage. For example\nmodern hardware typically allows to perform on the order of 1000\nfloating point operations per load from main memory.\nRecent trends in memory band width and CPU design suggest\nthis number to increase in the future. In this sense\nhaving a feel about latencies helps to judge, whether\nstoring data is worth it and not actually more expensive than\nrecomputing it.\n\nIn this talk I will discuss typical latency numbers\nand in the light of this especially hint at approaches\nto solving linear algebra problems,\nwhich avoid access to main memory.\nMost notably I will discuss so-called matrix-free or\ncontraction-based methods.\nNo knowledge of numerical linear algebra is required\nto follow the talk, but naturally there will be maths\nand some formulae, so beware!\n\n### Attachments\n- __[Slides](https://michael-herbst.com/talks/2018.09.08_mrmcd18_pitfalls_performance_latencies.pdf)__","original_language":"eng","persons":["Michael F. Herbst"],"view_count":171,"promoted":false,"date":"2018-09-08T00:00:00.000+02:00","release_date":"2018-09-09T02:00:00.000+02:00","updated_at":"2026-04-10T01:15:03.806+02:00","tags":["mrmcd18","134"],"length":2808,"duration":2808,"thumb_url":"https://static.media.ccc.de/media/conferences/mrmcd/mrmcd18/134-hd.jpg","poster_url":"https://static.media.ccc.de/media/conferences/mrmcd/mrmcd18/134-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/conferences/mrmcd/mrmcd18/ebbffcb1-0370-56db-8f42-85bca992f6fc-timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/conferences/mrmcd/mrmcd18/ebbffcb1-0370-56db-8f42-85bca992f6fc-thumbnails.vtt","frontend_link":"https://media.ccc.de/v/2018-134-pitfalls-for-performance-typical-latencies-to-keep-in-mind","url":"https://api.media.ccc.de/public/events/ebbffcb1-0370-56db-8f42-85bca992f6fc","conference_title":"MRMCD 2018 - Ganz grosses Kino","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd18","related":[{"event_id":5951,"event_guid":"416b46f8-7d6c-5bbb-82da-b7481007b94f","weight":12},{"event_id":5956,"event_guid":"9085a612-073b-5fe3-97e8-02f308ade923","weight":8},{"event_id":5958,"event_guid":"736d18c5-2d2d-5815-b488-aad7429dfdea","weight":13},{"event_id":5960,"event_guid":"541dc917-721a-59c3-b4eb-371a7e8acc3e","weight":9},{"event_id":5966,"event_guid":"b6554fda-0520-5ae9-ad5a-73dab200bf36","weight":8},{"event_id":5967,"event_guid":"1ce53ae2-b5c6-59a3-ad28-68078de8e634","weight":8},{"event_id":5969,"event_guid":"121459c7-aa60-5448-af88-2cf9a53f0a6c","weight":8},{"event_id":5972,"event_guid":"8a208625-2513-5e71-956d-d28245e2389d","weight":9}],"recordings":[{"size":183,"length":2808,"mime_type":"video/mp4","language":"eng","filename":"mrmcd18-134-eng-Pitfalls_for_performance_Typical_latencies_to_keep_in_mind_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-09-09T18:44:22.470+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd18/h264-hd/mrmcd18-134-eng-Pitfalls_for_performance_Typical_latencies_to_keep_in_mind_hd.mp4","url":"https://api.media.ccc.de/public/recordings/28471","event_url":"https://api.media.ccc.de/public/events/ebbffcb1-0370-56db-8f42-85bca992f6fc","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd18"},{"size":37,"length":2798,"mime_type":"audio/opus","language":"eng","filename":"mrmcd18-134-eng-Pitfalls_for_performance_Typical_latencies_to_keep_in_mind_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2018-09-09T18:46:36.947+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd18/opus/mrmcd18-134-eng-Pitfalls_for_performance_Typical_latencies_to_keep_in_mind_opus.opus","url":"https://api.media.ccc.de/public/recordings/28472","event_url":"https://api.media.ccc.de/public/events/ebbffcb1-0370-56db-8f42-85bca992f6fc","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd18"},{"size":42,"length":2798,"mime_type":"audio/mpeg","language":"eng","filename":"mrmcd18-134-eng-Pitfalls_for_performance_Typical_latencies_to_keep_in_mind_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2018-09-09T18:47:02.822+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd18/mp3/mrmcd18-134-eng-Pitfalls_for_performance_Typical_latencies_to_keep_in_mind_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/28473","event_url":"https://api.media.ccc.de/public/events/ebbffcb1-0370-56db-8f42-85bca992f6fc","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd18"},{"size":75,"length":2808,"mime_type":"video/mp4","language":"eng","filename":"mrmcd18-134-eng-Pitfalls_for_performance_Typical_latencies_to_keep_in_mind_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-09-09T18:53:38.343+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd18/h264-sd/mrmcd18-134-eng-Pitfalls_for_performance_Typical_latencies_to_keep_in_mind_sd.mp4","url":"https://api.media.ccc.de/public/recordings/28474","event_url":"https://api.media.ccc.de/public/events/ebbffcb1-0370-56db-8f42-85bca992f6fc","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd18"},{"size":106,"length":2808,"mime_type":"video/webm","language":"eng","filename":"mrmcd18-134-eng-Pitfalls_for_performance_Typical_latencies_to_keep_in_mind_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-09-09T19:00:37.220+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd18/webm-sd/mrmcd18-134-eng-Pitfalls_for_performance_Typical_latencies_to_keep_in_mind_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/28475","event_url":"https://api.media.ccc.de/public/events/ebbffcb1-0370-56db-8f42-85bca992f6fc","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd18"},{"size":261,"length":2808,"mime_type":"video/webm","language":"eng","filename":"mrmcd18-134-eng-Pitfalls_for_performance_Typical_latencies_to_keep_in_mind_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-09-09T19:20:21.620+02:00","recording_url":"https://cdn.media.ccc.de/events/mrmcd/mrmcd18/webm-hd/mrmcd18-134-eng-Pitfalls_for_performance_Typical_latencies_to_keep_in_mind_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/28476","event_url":"https://api.media.ccc.de/public/events/ebbffcb1-0370-56db-8f42-85bca992f6fc","conference_url":"https://api.media.ccc.de/public/conferences/mrmcd18"}]}