У нас вы можете посмотреть бесплатно Programming Language Memory Models: Problems, Solutions, and Directions или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Due to compiler and hardware optimizations, modern programming languages do not provide sequential consistent memory models. Instead, they have weak memory models that allow for more behaviors. Such memory models have to find the balance between performance and the guarantees provided to software developers, or, put another way, the balance needed is actually between performance and sanity. In this talk, we’ll introduce weak memory concurrency, consider requirements imposed on programming language memory models, examine those used by industry (C11 and Java), including their drawbacks, and then discuss solutions proposed by the academic community. We’ll conclude with a discussion on how to choose the best memory model for your language or VM, depending on your requirements. Speaker: Anton Podkopaev He is the head of the Programming Languages and Tools Lab at JetBrains Research. He was a postdoc at MPI-SWS after getting his PhD at St. Petersburg State University. Anton works on rigorous mathematical specifications and proofs for realistic concurrency systems, including CPU architectures, such as x86, ARM, and Power, and languages like C/C++, Java, and JavaScript. His professional interests include proving compiler correctness, verifying concurrent algorithms in weak memory models, mechanizing proofs in interactive theorem provers, and functional programming. Agenda: 00:00 - Introduction 03:52 - Sequential Consistency 06:43 - Peterson’s lock 11:11 - Let’s simplify example 11:54 - Dekker’s lock 23:51 - Intermediate conclusion 24:38 - Load buffering 30:30 - Requirements to Memory Models 34:00 - Correctness of Compiler optimizations 35:28 - Efficient compilation to hardware 36:32 - Easy, non-expert mode 46:01 - Existing PL Memory Models 48:14 - SC-preserving optimizations in LLM [Marino et al., 2011] 51:45 - End-to-end SC via Volatile JVM [Liu et al., 2017, Liu et al., 2019] 58:26 - Declarative (Axiomatic) Memory Models 01:09:48 - Out-of-Thin-Air in C/C++ MM 01:17:23 - Forbidding po U rf cycles 01:20:37 - Undefined Behavior and Memory Models 01:27:34 - Preserving dependencies in LLVM [Ou and Demsky, 2018] Presentation: https://drive.google.com/file/d/1AXl7... #ProgrammingLanguage #MemoryModels