"Distributed Ranges": Model for Building Distributed Data Structures, Algorithms & Views - Ben Brock

  Рет қаралды 6,013

CppCon

CppCon

5 ай бұрын

cppcon.org/
---
"Distributed Ranges": A Model for Building Distributed Data Structures, Algorithms, and Views - Benjamin Brock - CppCon 2023
github.com/CppCon/CppCon2023
Writing programs that run on clusters of computers is notoriously difficult. Distributed data structures can simplify this problem by automatically splitting up data across multiple memory spaces or nodes in a distributed memory program. Algorithms in most distributed data structures libraries, however, are not generic, but operate only on a specific data structure. In this work, we discuss how modern C++ features like concepts, customization points, and the ranges library can be used to support generic algorithms and views that can interoperate with multiple distributed data structures. We first discuss background in distributed computing and distributed data structures, including common techniques used to create high-level distributed data structures. We then show how customization point objects and concepts can be used to allow the implementation of generic algorithms that can be used with any distributed data structure as long as it fulfills a "distributed range" concept. We then show how to implement views that satisfy this concept, allowing algorithms to operate on lazily evaluated views of distributed data structures. Finally, we discuss two implementations of this model, for multi-GPU and multi-node programs, as well as performance considerations when running on state-of-the-art HPC systems.
---
Benjamin Brock
Benjamin Brock is a research scientist at Intel Labs, where he works on building libraries, tools, and algorithms for high-performance computing. In 2022, he completed a PhD in distributed data structures at UC Berkeley. His work focuses primarily on building cross-platform data structures for distributed applications, with applications in sparse linear algebra and graph algorithms. Ben is a member of the GraphBLAS Languages Committee and is involved in drafting the GraphBLAS C++ Specification.
__
Videos Filmed & Edited by Bash Films: www.BashFilms.com
KZbin Channel Managed by Digital Medium Ltd: events.digital-medium.co.uk
---
Registration for CppCon: cppcon.org/registration/
#cppcon #cppprogramming #cpp

Пікірлер: 8
@nibrobb
@nibrobb 5 ай бұрын
Very cool
@wjrasmussen666
@wjrasmussen666 5 ай бұрын
This is going on the watchlist
@Roibarkan
@Roibarkan 5 ай бұрын
11:03 Benjamins talk from 2021: kzbin.info/www/bejne/o4vahnpuqJiVZ5Y
@RicardoCapurro
@RicardoCapurro 5 ай бұрын
Very interesting talk, but I believe this would never reach a production level code, mostly because the intention of ranges is to provide safety since iterators are not safe, and although iterators provided a nice separation between containers and algorithms they failed on safety. I believe distributed containers should be addressed on a different and more specific framework.
@markusasennoptchevich2037
@markusasennoptchevich2037 5 ай бұрын
Is that a trap in the first minute? Oh god...
@douggale5962
@douggale5962 5 ай бұрын
I am so tired of hearing how hard parallel programming is. It's not hard.
@victoreijkhout7115
@victoreijkhout7115 5 ай бұрын
Shared memory parallelism is not hard. Distributed? You ever written a sparse matrix-vector product? Scalable at a million cores? (And by scalable I don't mean "it runs" but: efficiency bounded from below.)
@SimGunther
@SimGunther 5 ай бұрын
So long as you have the exact same clock for every computer and no shared state is ever mutating, then it's 100% easy 😅
Back to Basics: C++ Concurrency - David Olsen - CppCon 2023
1:00:58
Pray For Palestine 😢🇵🇸|
00:23
Ak Ultra
Рет қаралды 34 МЛН
Indian sharing by Secret Vlog #shorts
00:13
Secret Vlog
Рет қаралды 58 МЛН
Black Magic 🪄 by Petkit Pura Max #cat #cats
00:38
Sonyakisa8 TT
Рет қаралды 34 МЛН
Joscha at Microsoft
48:46
Simuli
Рет қаралды 2,2 М.
What is Span in C# and why you should be using it
15:15
Nick Chapsas
Рет қаралды 247 М.
Distributed Systems in One Lesson by Tim Berglund
49:00
Devoxx Poland
Рет қаралды 409 М.
Back to Basics: Debugging in Cpp - Greg Law - CppCon 2023
1:00:37
ПК с Авито за 3000р
0:58
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 1,7 МЛН
Дени против умной колонки😁
0:40
Deni & Mani
Рет қаралды 10 МЛН
😱НОУТБУК СОСЕДКИ😱
0:30
OMG DEN
Рет қаралды 2,9 МЛН