SlideShare a Scribd company logo
1 of 31
Download to read offline
Driving and virtualizing control systems: the Open
Source approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Academia-Industry Matching event on Technology of Controls for Accelerators and Detectors
November 2013
Agenda

Knowing Igalia
The value of the Open Source approach
Open Source approach in WhiteRabbit
A walk on technical details and demo

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
What is Igalia?
Open Source Company
40 engineers and hackers working around the globe
Hacking upstream in different technologies and
communities
kernel (Linux)
virtualization (QEMU/KVM)
browsers/multimedia (WebKit, Blink, GStreamer...)
compilers (V8, JavaScriptCore...)
UI (GTK+,...)
documents (Evince, LibreOffice...)
distros (Debian, Tizen...)
automotive/IVI

13 years old now!
www.igalia.com

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Partnering

Linux Foundation
www.linuxfoundation.org/newsmedia/announcements/2011/04/igalia-joins-linuxfoundation
W3C
www.igalia.com/nc/igalia-247/news/item/igalia-joinsthe-world-wide-web-consortium
Tizen Association
www.igalia.com/nc/igalia-247/news/item/igalia-joinsthe-tizen-association-partner-program/
...

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
What services and solutions provides Igalia?

We are experts in Open Source Software solutions
We help companies and institutions to achieve open
developments aligned with their culture and business
models
We collaborate with customers through concrete and
well-defined projects
Usual customer’s needs ranges from expert technical
development, support and training to strengthen in-house
teams or requiring a technical link between project and
open communities

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Can your project take advantage of an open
approach?

To take serious advantage of Open Source approach you
should avoid using open and free software only
(consuming). You should take in consideration producing
it as WhiteRabbit community is doing!
It requires understanding the ’upstreaming concept’ in
Open Source projects
We will see the upstream concept quickly in order to
illustrate it with the WhiteRabbit experience

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
What is upstreaming?

Upstreaming refers to the practice of contributing source
code that has been developed independently or in-house
back to an open source project.
Having code accepted upstream provides several benefits
to the open source project, the companies submitting code
to upstream projects, and the open source ecosystem in
general.

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Advantages of Upstream Alignment

Accelerate Innovation
Minimize R&D Costs
Gain Additional Contributors
Increase Code Quality
Enable Faster Integration and Testing
Influence the project’s direction
Provide stability to the open source project

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
CERN and Igalia collaboration (I)
Started in 2012
Collaboration between CERN’s BE-CO-HT section and
Igalia’s Kernel/Virtualization team
Worked around FMC/TDC board in the WhiteRabbit
context
Igalia was in charge of Linux kernel driver development,
testing and quality for this board
In this project we started to develop virtual hardware for
an open virtualizator/emulator (QEMU/KVM)
We introduced part of our collaboration with CERN based
on automatic testing, continuous integration and quality
for Linux drivers using virtual hardware in LinuxCon 2012
In this conference, LinuxCon, Igalia promotioned some of
the technologies used in CERN and the WhiteRabbit
project as part of this collaboration
Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
CERN and Igalia collaboration (II)
In summary, this collaboration related with control aspects
raised value in the following aspects:
Speeding up Linux driver development for one custom
board designed in CERN
Developed virtual hardware for automatic testing,
continuous integration and safe tests
Supported the collaboration’s upstream process with code
in different communities (Linux, QEMU, Open Hardware
Repository and KiCAD mainly)
We introduced this collaboration and experience in
LinuxCon 2012. A very relevant conference in the industry
Related to this collaboration, some of our customers found
useful the open virtual hardware approach to reduce
development times, working in parallel with hardware
designers, redesigning firmware’s interface or running
agressive testing
Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Technical details and demo

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Our work in kernel

Industry Pack bus
TEWS TPCI-200.
GE IP-OCTAL-232.

FMC bus (WhiteRabbit project)
FMC TDC board

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Industry Pack drivers

Open Source drivers developed at CERN.
Mainstream Linux kernel support added in 2012.
In Staging in May 2012.
Moved to mainstream in November 2012.

Three drivers:
ipack bus driver
TEWS TPCI-200 carrier board
GE IP-OCTAL: 8 channel serial port device

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Industry Pack boards

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
FMC TDC driver

Hosted in OHWR.
http://www.ohwr.org/projects/fmc-tdc-sw

Tested on a SPEC board.
It uses ZIO framework to bring an I/O device to
user-space.
It uses the FMC bus driver to register the mezzanine in the
system.
FMC bus is supported in mainline kernel as of June 2013.

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
FMC TDC board

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Our work in virtualization

Virtualized models
Industry Pack: Added to QEMU in 2012.
TEWS TPCI-200
GE IP-OCTAL-232

FMC TDC
SPEC board (only needed bits)
FMC TDC board

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
FMC TDC board virtualization

When developing the driver, we saw some problems:
No enough devices for all developers
FW is not mature enough
Which is the source of the error?

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
FMC TDC board virtualization

So we created a virtual model of the device
Virtualized just some specific bits of SPEC
Same memory addresses and registers than the real FW
We can test error conditions to improve driver’s robustness

Could it be possible to test the driver automatically?

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
FMC TDC board: Error conditions

It was needed to test error conditions on the driver
Generic stuff
The virtual board in being detected by the driver as a
genuine device
Normal mode: no error injection

DMA errors
Set up different input pulse configurations

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
How we did that

QEMU (http://wiki.qemu.org)
Open source machine emulator and virtualizer
Allow us to play with different setups
If has nice features: snapshot, shared folders, no screen, etc

Buildbot (http://trac.buildbot.net/)
Continuous integration system designed to automate the
build/test cycle
Python. Web interface to check the logs

Our own testing suite
Based on Sam’s experience working with PTS in the past
Needed more flexibility: different setups for the same test
Developed in Python, as PTS

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
The result (I)

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
The result (II)

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
The result (III)

http://tdc-buildbot.igalia.com
Username: buildbot
Password: qemulinux

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
The result (IV)

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
The result (V)

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Results

We could test different conditions:
Choose memory size, virtual machine image, network, etc
Different kernel versions
As is uses continuous integration -> Detect which commit
added the error

Based on Open Source technologies
Can be modified to validate complex systems before they
are done

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Links (I)

CERN/Igalia collaboration
www.igalia.com/kernel
blogs.igalia.com/jmunhoz/blog/2012/12/14/follow-thewhite-rabbit-working-with-cern.html

Industry Pack drivers
blogs.igalia.com/siglesias/2012/11/23/fmc-tdc-driver

FMC TDC driver
FMC projects SPEC, FMC TDC and FMC TDC software
blogs.igalia.com/siglesias/2012/11/23/fmc-tdc-driver/

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Links (II)
CI, testing suites and virtual hardware (QEMU)
blogs.igalia.com/berto/2012/10/03/industrypack-qemuand-linuxcon/
blogs.igalia.com/berto/2012/11/28/qemu-and-openhardware-spec-and-fmc-tdc/
events.linuxfoundation.org/.../pdf/lceu2012_garcia.pdf
blogs.igalia.com/magomez/2012/11/28/continuousintegration-and-testing-driver-development-and-virtualhardware-the-fmc-tdc-experience/

Fixing bugs upstream in KiCAD
blogs.igalia.com/jaragunde/2013/01/21/introducingkicad-because-open-hardware-needs-open-tools/
blogs.igalia.com/jaragunde/2013/01/30/kicad-bugsquashing-round-1/
blogs.igalia.com/jaragunde/2013/02/14/kicad-bugsquashing-round-2/
Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Questions & Answers

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
Thank you!

Driving and virtualizing control systems: the Open Source
approach used in WhiteRabbit

Javier Muñoz Mellid & Samuel Iglesias Gonsalvez

More Related Content

What's hot

The pathway to Chromium on Wayland (Web Engines Hackfest 2018)
The pathway to Chromium on Wayland (Web Engines Hackfest 2018)The pathway to Chromium on Wayland (Web Engines Hackfest 2018)
The pathway to Chromium on Wayland (Web Engines Hackfest 2018)Igalia
 
WebXR and Browsers
WebXR and BrowsersWebXR and Browsers
WebXR and BrowsersIgalia
 
About OpenGL and Vulkan interoperability (XDC 2020)
About OpenGL and Vulkan interoperability (XDC 2020)About OpenGL and Vulkan interoperability (XDC 2020)
About OpenGL and Vulkan interoperability (XDC 2020)Igalia
 
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)Igalia
 
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...Igalia
 
LaCrOs Progress
LaCrOs ProgressLaCrOs Progress
LaCrOs ProgressIgalia
 
SVG in WebKit: Compositing Status
SVG in WebKit: Compositing StatusSVG in WebKit: Compositing Status
SVG in WebKit: Compositing StatusIgalia
 
WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)Igalia
 
WebKit, HTML5 media and GStreamer on multiple platforms
WebKit, HTML5 media and GStreamer on multiple platforms WebKit, HTML5 media and GStreamer on multiple platforms
WebKit, HTML5 media and GStreamer on multiple platforms philn2
 
Contributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectContributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectIgalia
 
Multimedia in WebKitGtk+, past/present/future
Multimedia in WebKitGtk+, past/present/futureMultimedia in WebKitGtk+, past/present/future
Multimedia in WebKitGtk+, past/present/futurephiln2
 
Fixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blockingFixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blockingIgalia
 
Ewebkit basic (Web rendering enging of EFL)
Ewebkit basic (Web rendering enging of EFL)Ewebkit basic (Web rendering enging of EFL)
Ewebkit basic (Web rendering enging of EFL)ryuan choi
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...Igalia
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web ToolkitDidier Girard
 
WebKit and GStreamer
WebKit and GStreamerWebKit and GStreamer
WebKit and GStreamercalvaris
 
Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)Igalia
 
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...Igalia
 
WebKit for Wayland (Web Engines Hackfest 2014)
WebKit for Wayland (Web Engines Hackfest 2014)WebKit for Wayland (Web Engines Hackfest 2014)
WebKit for Wayland (Web Engines Hackfest 2014)Igalia
 
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoGWTcon
 

What's hot (20)

The pathway to Chromium on Wayland (Web Engines Hackfest 2018)
The pathway to Chromium on Wayland (Web Engines Hackfest 2018)The pathway to Chromium on Wayland (Web Engines Hackfest 2018)
The pathway to Chromium on Wayland (Web Engines Hackfest 2018)
 
WebXR and Browsers
WebXR and BrowsersWebXR and Browsers
WebXR and Browsers
 
About OpenGL and Vulkan interoperability (XDC 2020)
About OpenGL and Vulkan interoperability (XDC 2020)About OpenGL and Vulkan interoperability (XDC 2020)
About OpenGL and Vulkan interoperability (XDC 2020)
 
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
 
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
 
LaCrOs Progress
LaCrOs ProgressLaCrOs Progress
LaCrOs Progress
 
SVG in WebKit: Compositing Status
SVG in WebKit: Compositing StatusSVG in WebKit: Compositing Status
SVG in WebKit: Compositing Status
 
WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)
 
WebKit, HTML5 media and GStreamer on multiple platforms
WebKit, HTML5 media and GStreamer on multiple platforms WebKit, HTML5 media and GStreamer on multiple platforms
WebKit, HTML5 media and GStreamer on multiple platforms
 
Contributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectContributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium project
 
Multimedia in WebKitGtk+, past/present/future
Multimedia in WebKitGtk+, past/present/futureMultimedia in WebKitGtk+, past/present/future
Multimedia in WebKitGtk+, past/present/future
 
Fixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blockingFixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blocking
 
Ewebkit basic (Web rendering enging of EFL)
Ewebkit basic (Web rendering enging of EFL)Ewebkit basic (Web rendering enging of EFL)
Ewebkit basic (Web rendering enging of EFL)
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
WebKit and GStreamer
WebKit and GStreamerWebKit and GStreamer
WebKit and GStreamer
 
Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)
 
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
 
WebKit for Wayland (Web Engines Hackfest 2014)
WebKit for Wayland (Web Engines Hackfest 2014)WebKit for Wayland (Web Engines Hackfest 2014)
WebKit for Wayland (Web Engines Hackfest 2014)
 
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi Dewanto
 

Viewers also liked

Vibrant info-sheet-2015
Vibrant info-sheet-2015Vibrant info-sheet-2015
Vibrant info-sheet-2015Richard Bailey
 
Good news, everybody! Guile 2.2 performance notes (FOSDEM 2016)
Good news, everybody! Guile 2.2 performance notes (FOSDEM 2016)Good news, everybody! Guile 2.2 performance notes (FOSDEM 2016)
Good news, everybody! Guile 2.2 performance notes (FOSDEM 2016)Igalia
 
NIR on the Mesa i965 backend (FOSDEM 2016)
NIR on the Mesa i965 backend (FOSDEM 2016)NIR on the Mesa i965 backend (FOSDEM 2016)
NIR on the Mesa i965 backend (FOSDEM 2016)Igalia
 
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...Igalia
 
Optimizing with persistent data structures (LLVM Cauldron 2016)
Optimizing with persistent data structures (LLVM Cauldron 2016)Optimizing with persistent data structures (LLVM Cauldron 2016)
Optimizing with persistent data structures (LLVM Cauldron 2016)Igalia
 
WebKit Security Updates (GUADEC 2016)
WebKit Security Updates (GUADEC 2016)WebKit Security Updates (GUADEC 2016)
WebKit Security Updates (GUADEC 2016)Igalia
 
Spelunking through JPEG with Racket (Sixth RacketCon)
Spelunking through JPEG with Racket (Sixth RacketCon)Spelunking through JPEG with Racket (Sixth RacketCon)
Spelunking through JPEG with Racket (Sixth RacketCon)Igalia
 

Viewers also liked (7)

Vibrant info-sheet-2015
Vibrant info-sheet-2015Vibrant info-sheet-2015
Vibrant info-sheet-2015
 
Good news, everybody! Guile 2.2 performance notes (FOSDEM 2016)
Good news, everybody! Guile 2.2 performance notes (FOSDEM 2016)Good news, everybody! Guile 2.2 performance notes (FOSDEM 2016)
Good news, everybody! Guile 2.2 performance notes (FOSDEM 2016)
 
NIR on the Mesa i965 backend (FOSDEM 2016)
NIR on the Mesa i965 backend (FOSDEM 2016)NIR on the Mesa i965 backend (FOSDEM 2016)
NIR on the Mesa i965 backend (FOSDEM 2016)
 
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...
 
Optimizing with persistent data structures (LLVM Cauldron 2016)
Optimizing with persistent data structures (LLVM Cauldron 2016)Optimizing with persistent data structures (LLVM Cauldron 2016)
Optimizing with persistent data structures (LLVM Cauldron 2016)
 
WebKit Security Updates (GUADEC 2016)
WebKit Security Updates (GUADEC 2016)WebKit Security Updates (GUADEC 2016)
WebKit Security Updates (GUADEC 2016)
 
Spelunking through JPEG with Racket (Sixth RacketCon)
Spelunking through JPEG with Racket (Sixth RacketCon)Spelunking through JPEG with Racket (Sixth RacketCon)
Spelunking through JPEG with Racket (Sixth RacketCon)
 

Similar to Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit (HEPTech Academia 2013)

Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...Samuel Iglesias Gonsálvez
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1G R VISHAL
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018Krishna-Kumar
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps ParadigmNaLUG
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopMichael Palotas
 
Testing and HW Virtualization (7th White Rabbit Workshop)
Testing and HW Virtualization (7th White Rabbit Workshop)Testing and HW Virtualization (7th White Rabbit Workshop)
Testing and HW Virtualization (7th White Rabbit Workshop)Igalia
 
Linuxcon 2011 Crash Course in Open Source Cloud Computing
Linuxcon 2011   Crash Course in Open Source Cloud ComputingLinuxcon 2011   Crash Course in Open Source Cloud Computing
Linuxcon 2011 Crash Course in Open Source Cloud ComputingMark Hinkle
 
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTUtilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTPôle Systematic Paris-Region
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdWeaveworks
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudThe UberCloud
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudWolfgang Gentzsch
 
“Khronos Standard APIs for Accelerating Vision and Inferencing,” a Presentati...
“Khronos Standard APIs for Accelerating Vision and Inferencing,” a Presentati...“Khronos Standard APIs for Accelerating Vision and Inferencing,” a Presentati...
“Khronos Standard APIs for Accelerating Vision and Inferencing,” a Presentati...Edge AI and Vision Alliance
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSG R VISHAL
 
Dev Day Tokyo Hands-On Materials
Dev Day Tokyo Hands-On MaterialsDev Day Tokyo Hands-On Materials
Dev Day Tokyo Hands-On MaterialsUBiqube
 
OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017Rodolfo Carvalho
 
OpenShift: Devops Made Easy
OpenShift: Devops Made EasyOpenShift: Devops Made Easy
OpenShift: Devops Made EasyBent Terp
 
Gervais Peter Resume Oct :2015
Gervais Peter Resume Oct :2015Gervais Peter Resume Oct :2015
Gervais Peter Resume Oct :2015Peter Gervais
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...OpenWhisk
 

Similar to Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit (HEPTech Academia 2013) (20)

Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
Testing and HW Virtualization (7th White Rabbit Workshop)
Testing and HW Virtualization (7th White Rabbit Workshop)Testing and HW Virtualization (7th White Rabbit Workshop)
Testing and HW Virtualization (7th White Rabbit Workshop)
 
Linuxcon 2011 Crash Course in Open Source Cloud Computing
Linuxcon 2011   Crash Course in Open Source Cloud ComputingLinuxcon 2011   Crash Course in Open Source Cloud Computing
Linuxcon 2011 Crash Course in Open Source Cloud Computing
 
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTUtilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and Linkerd
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the Cloud
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the Cloud
 
ON.LAB Mininet
ON.LAB MininetON.LAB Mininet
ON.LAB Mininet
 
“Khronos Standard APIs for Accelerating Vision and Inferencing,” a Presentati...
“Khronos Standard APIs for Accelerating Vision and Inferencing,” a Presentati...“Khronos Standard APIs for Accelerating Vision and Inferencing,” a Presentati...
“Khronos Standard APIs for Accelerating Vision and Inferencing,” a Presentati...
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPS
 
Dev Day Tokyo Hands-On Materials
Dev Day Tokyo Hands-On MaterialsDev Day Tokyo Hands-On Materials
Dev Day Tokyo Hands-On Materials
 
OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017OpenShift Overview - Red Hat Open House 2017
OpenShift Overview - Red Hat Open House 2017
 
OpenShift: Devops Made Easy
OpenShift: Devops Made EasyOpenShift: Devops Made Easy
OpenShift: Devops Made Easy
 
Gervais Peter Resume Oct :2015
Gervais Peter Resume Oct :2015Gervais Peter Resume Oct :2015
Gervais Peter Resume Oct :2015
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
 

More from Igalia

Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JITIgalia
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!Igalia
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerIgalia
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in MesaIgalia
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIgalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera LinuxIgalia
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVMIgalia
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsIgalia
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesIgalia
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSIgalia
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webIgalia
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersIgalia
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...Igalia
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on RaspberryIgalia
 
Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...Igalia
 
Async page flip in DRM atomic API
Async page flip in DRM  atomic APIAsync page flip in DRM  atomic API
Async page flip in DRM atomic APIIgalia
 
From the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by StepFrom the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by StepIgalia
 
Migrating Babel from CommonJS to ESM
Migrating Babel     from CommonJS to ESMMigrating Babel     from CommonJS to ESM
Migrating Babel from CommonJS to ESMIgalia
 
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...Igalia
 
Freedreno on Android – XDC 2023
Freedreno on Android          – XDC 2023Freedreno on Android          – XDC 2023
Freedreno on Android – XDC 2023Igalia
 

More from Igalia (20)

Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devices
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shaders
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on Raspberry
 
Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...Enable hardware acceleration for GL applications without glamor on Xorg modes...
Enable hardware acceleration for GL applications without glamor on Xorg modes...
 
Async page flip in DRM atomic API
Async page flip in DRM  atomic APIAsync page flip in DRM  atomic API
Async page flip in DRM atomic API
 
From the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by StepFrom the proposal to ECMAScript – Step by Step
From the proposal to ECMAScript – Step by Step
 
Migrating Babel from CommonJS to ESM
Migrating Babel     from CommonJS to ESMMigrating Babel     from CommonJS to ESM
Migrating Babel from CommonJS to ESM
 
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
The rainbow treasure map: Advanced color management on Linux with AMD/Steam D...
 
Freedreno on Android – XDC 2023
Freedreno on Android          – XDC 2023Freedreno on Android          – XDC 2023
Freedreno on Android – XDC 2023
 

Recently uploaded

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit (HEPTech Academia 2013)

  • 1. Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez Academia-Industry Matching event on Technology of Controls for Accelerators and Detectors November 2013
  • 2. Agenda Knowing Igalia The value of the Open Source approach Open Source approach in WhiteRabbit A walk on technical details and demo Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 3. What is Igalia? Open Source Company 40 engineers and hackers working around the globe Hacking upstream in different technologies and communities kernel (Linux) virtualization (QEMU/KVM) browsers/multimedia (WebKit, Blink, GStreamer...) compilers (V8, JavaScriptCore...) UI (GTK+,...) documents (Evince, LibreOffice...) distros (Debian, Tizen...) automotive/IVI 13 years old now! www.igalia.com Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 5. What services and solutions provides Igalia? We are experts in Open Source Software solutions We help companies and institutions to achieve open developments aligned with their culture and business models We collaborate with customers through concrete and well-defined projects Usual customer’s needs ranges from expert technical development, support and training to strengthen in-house teams or requiring a technical link between project and open communities Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 6. Can your project take advantage of an open approach? To take serious advantage of Open Source approach you should avoid using open and free software only (consuming). You should take in consideration producing it as WhiteRabbit community is doing! It requires understanding the ’upstreaming concept’ in Open Source projects We will see the upstream concept quickly in order to illustrate it with the WhiteRabbit experience Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 7. What is upstreaming? Upstreaming refers to the practice of contributing source code that has been developed independently or in-house back to an open source project. Having code accepted upstream provides several benefits to the open source project, the companies submitting code to upstream projects, and the open source ecosystem in general. Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 8. Advantages of Upstream Alignment Accelerate Innovation Minimize R&D Costs Gain Additional Contributors Increase Code Quality Enable Faster Integration and Testing Influence the project’s direction Provide stability to the open source project Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 9. CERN and Igalia collaboration (I) Started in 2012 Collaboration between CERN’s BE-CO-HT section and Igalia’s Kernel/Virtualization team Worked around FMC/TDC board in the WhiteRabbit context Igalia was in charge of Linux kernel driver development, testing and quality for this board In this project we started to develop virtual hardware for an open virtualizator/emulator (QEMU/KVM) We introduced part of our collaboration with CERN based on automatic testing, continuous integration and quality for Linux drivers using virtual hardware in LinuxCon 2012 In this conference, LinuxCon, Igalia promotioned some of the technologies used in CERN and the WhiteRabbit project as part of this collaboration Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 10. CERN and Igalia collaboration (II) In summary, this collaboration related with control aspects raised value in the following aspects: Speeding up Linux driver development for one custom board designed in CERN Developed virtual hardware for automatic testing, continuous integration and safe tests Supported the collaboration’s upstream process with code in different communities (Linux, QEMU, Open Hardware Repository and KiCAD mainly) We introduced this collaboration and experience in LinuxCon 2012. A very relevant conference in the industry Related to this collaboration, some of our customers found useful the open virtual hardware approach to reduce development times, working in parallel with hardware designers, redesigning firmware’s interface or running agressive testing Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 11. Technical details and demo Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 12. Our work in kernel Industry Pack bus TEWS TPCI-200. GE IP-OCTAL-232. FMC bus (WhiteRabbit project) FMC TDC board Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 13. Industry Pack drivers Open Source drivers developed at CERN. Mainstream Linux kernel support added in 2012. In Staging in May 2012. Moved to mainstream in November 2012. Three drivers: ipack bus driver TEWS TPCI-200 carrier board GE IP-OCTAL: 8 channel serial port device Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 14. Industry Pack boards Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 15. FMC TDC driver Hosted in OHWR. http://www.ohwr.org/projects/fmc-tdc-sw Tested on a SPEC board. It uses ZIO framework to bring an I/O device to user-space. It uses the FMC bus driver to register the mezzanine in the system. FMC bus is supported in mainline kernel as of June 2013. Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 16. FMC TDC board Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 17. Our work in virtualization Virtualized models Industry Pack: Added to QEMU in 2012. TEWS TPCI-200 GE IP-OCTAL-232 FMC TDC SPEC board (only needed bits) FMC TDC board Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 18. FMC TDC board virtualization When developing the driver, we saw some problems: No enough devices for all developers FW is not mature enough Which is the source of the error? Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 19. FMC TDC board virtualization So we created a virtual model of the device Virtualized just some specific bits of SPEC Same memory addresses and registers than the real FW We can test error conditions to improve driver’s robustness Could it be possible to test the driver automatically? Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 20. FMC TDC board: Error conditions It was needed to test error conditions on the driver Generic stuff The virtual board in being detected by the driver as a genuine device Normal mode: no error injection DMA errors Set up different input pulse configurations Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 21. How we did that QEMU (http://wiki.qemu.org) Open source machine emulator and virtualizer Allow us to play with different setups If has nice features: snapshot, shared folders, no screen, etc Buildbot (http://trac.buildbot.net/) Continuous integration system designed to automate the build/test cycle Python. Web interface to check the logs Our own testing suite Based on Sam’s experience working with PTS in the past Needed more flexibility: different setups for the same test Developed in Python, as PTS Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 22. The result (I) Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 23. The result (II) Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 24. The result (III) http://tdc-buildbot.igalia.com Username: buildbot Password: qemulinux Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 25. The result (IV) Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 26. The result (V) Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 27. Results We could test different conditions: Choose memory size, virtual machine image, network, etc Different kernel versions As is uses continuous integration -> Detect which commit added the error Based on Open Source technologies Can be modified to validate complex systems before they are done Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 28. Links (I) CERN/Igalia collaboration www.igalia.com/kernel blogs.igalia.com/jmunhoz/blog/2012/12/14/follow-thewhite-rabbit-working-with-cern.html Industry Pack drivers blogs.igalia.com/siglesias/2012/11/23/fmc-tdc-driver FMC TDC driver FMC projects SPEC, FMC TDC and FMC TDC software blogs.igalia.com/siglesias/2012/11/23/fmc-tdc-driver/ Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 29. Links (II) CI, testing suites and virtual hardware (QEMU) blogs.igalia.com/berto/2012/10/03/industrypack-qemuand-linuxcon/ blogs.igalia.com/berto/2012/11/28/qemu-and-openhardware-spec-and-fmc-tdc/ events.linuxfoundation.org/.../pdf/lceu2012_garcia.pdf blogs.igalia.com/magomez/2012/11/28/continuousintegration-and-testing-driver-development-and-virtualhardware-the-fmc-tdc-experience/ Fixing bugs upstream in KiCAD blogs.igalia.com/jaragunde/2013/01/21/introducingkicad-because-open-hardware-needs-open-tools/ blogs.igalia.com/jaragunde/2013/01/30/kicad-bugsquashing-round-1/ blogs.igalia.com/jaragunde/2013/02/14/kicad-bugsquashing-round-2/ Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 30. Questions & Answers Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez
  • 31. Thank you! Driving and virtualizing control systems: the Open Source approach used in WhiteRabbit Javier Muñoz Mellid & Samuel Iglesias Gonsalvez