Cargando…

Concurrency at work with Go

<!--HTML--><p>High Energy and Nuclear Physics (HENP) libraries are now required to be increasingly multi-thread-safe, if not multi-thread-friendly and multi-threaded. This is usually done using the new constructs and library components offered by the C++11 and C++14 standards. These comp...

Descripción completa

Detalles Bibliográficos
Autor principal: Campoy, Francesc
Lenguaje:eng
Publicado: 2017
Materias:
Acceso en línea:http://cds.cern.ch/record/2292441
_version_ 1780956480909869056
author Campoy, Francesc
author_facet Campoy, Francesc
author_sort Campoy, Francesc
collection CERN
description <!--HTML--><p>High Energy and Nuclear Physics (HENP) libraries are now required to be increasingly multi-thread-safe, if not multi-thread-friendly and multi-threaded. This is usually done using the new constructs and library components offered by the C++11 and C++14 standards. These components are however quite low-level (threads, mutexes, locks, ...) and hard to use and compose, or easy to misuse.</p> <p>However, Go -- a somewhat new language -- provides a set of better building blocks for tackling concurrency: goroutines and channels. This language is now used by the cloud industry at large; docker/moby, rkt, Kubernetes, OpenShift, etc... are obvious flagships for Go. It is also used in other interesting places like SpaceX's telemetry monitoring system and in the New York Times', YouTube's or Disney's content delivery infrastructures.</p> <p>In this talk, we will describe the building blocks of Go and see how they are combined to easily create concurrent programs that grow with grace, are fast to compile and deploy, but also easy to reason about (and debug).</p> <p>We will conclude by demonstrating Go's concurrency principles by using Mandelbrot sets as an example of CPU-heavy task, showing how the language can help make our programs faster.</p> <p><strong>About the speaker</strong></p> <p><a href="https://www.linkedin.com/in/campoy" target="_blank">Francesc Campoy</a> is currently VP of Developer Relations at source{d}, and worked previously as Senior Developer Advocate at Google. He is a software engineer with extensive experience on C++ developing, and specially interested on software architecture and design.<br /> <br /> Specialties: Design patterns, software design (UML, RUP) and architecture, advanced C++ (stl, templates, debugging, profiling). Heterogeneous education background (AI, computer graphics, algebra and mathematics).</p>
id cern-2292441
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2017
record_format invenio
spelling cern-22924412022-11-02T22:27:57Zhttp://cds.cern.ch/record/2292441engCampoy, FrancescConcurrency at work with GoConcurrency at work with GoCERN Computing Seminar<!--HTML--><p>High Energy and Nuclear Physics (HENP) libraries are now required to be increasingly multi-thread-safe, if not multi-thread-friendly and multi-threaded. This is usually done using the new constructs and library components offered by the C++11 and C++14 standards. These components are however quite low-level (threads, mutexes, locks, ...) and hard to use and compose, or easy to misuse.</p> <p>However, Go -- a somewhat new language -- provides a set of better building blocks for tackling concurrency: goroutines and channels. This language is now used by the cloud industry at large; docker/moby, rkt, Kubernetes, OpenShift, etc... are obvious flagships for Go. It is also used in other interesting places like SpaceX's telemetry monitoring system and in the New York Times', YouTube's or Disney's content delivery infrastructures.</p> <p>In this talk, we will describe the building blocks of Go and see how they are combined to easily create concurrent programs that grow with grace, are fast to compile and deploy, but also easy to reason about (and debug).</p> <p>We will conclude by demonstrating Go's concurrency principles by using Mandelbrot sets as an example of CPU-heavy task, showing how the language can help make our programs faster.</p> <p><strong>About the speaker</strong></p> <p><a href="https://www.linkedin.com/in/campoy" target="_blank">Francesc Campoy</a> is currently VP of Developer Relations at source{d}, and worked previously as Senior Developer Advocate at Google. He is a software engineer with extensive experience on C++ developing, and specially interested on software architecture and design.<br /> <br /> Specialties: Design patterns, software design (UML, RUP) and architecture, advanced C++ (stl, templates, debugging, profiling). Heterogeneous education background (AI, computer graphics, algebra and mathematics).</p>oai:cds.cern.ch:22924412017
spellingShingle CERN Computing Seminar
Campoy, Francesc
Concurrency at work with Go
title Concurrency at work with Go
title_full Concurrency at work with Go
title_fullStr Concurrency at work with Go
title_full_unstemmed Concurrency at work with Go
title_short Concurrency at work with Go
title_sort concurrency at work with go
topic CERN Computing Seminar
url http://cds.cern.ch/record/2292441
work_keys_str_mv AT campoyfrancesc concurrencyatworkwithgo