SlideShare une entreprise Scribd logo
Yann-Gaël Guéhéneuc
This work is licensed under a Creative
Commons Attribution-NonCommercial-
ShareAlike 3.0 Unported License
Are CPUs VMs
Like Any Others?
How did I fall into this rabbit hole?
Version 1.0
2020/10/09
2/84
Outline
 A bit of history
 About FPGAs
 Programming
– Basics
– Simulation
– Deployment
– More…
 Conclusion
3/84
A BIT OF HISTORY
4/84
A Bit of History
 Of course, we start with a bit of history!
https://en.wikiquote.org/wiki/George_Santayana
“Those who cannot remember
the past are condemned to
repeat it.”
George Santayana (1863 –1952)
5/84
A Bit of History
 Of course, we start with a bit of history!
https://en.wikiquote.org/wiki/George_Santayana
“Those who cannot remember
the past are condemned to
repeat it.”
George Santayana (1863 –1952)
Or to overlook it…
6/84
At The Beginning of Times
ENIAC machine, 1945
https://en.wikipedia.org/wiki/Difference_engine
https://en.wikipedia.org/wiki/ENIAC
https://www.engineering.com/ElectronicsDesign/ElectronicsDesignArticles/ ArticleID/16337/Vacuum-Tubes-The-World-Before-Transistors.aspx
Difference engine, 1822
7/84
A Bit Later…
https://www.computerhistory.org/revolution/digital-logic/12/273
https://en.wikipedia.org/wiki/Intel_4004
Intel 4004, 1971
First bipolar junction transistors, 1947
8/84
More Recently
https://techgage.com/news/amd-rumored-to-soon-launch-ryzen-pro-version-of-threadripper-3990x-dubbed-3995wx/
https://www.techpowerup.com/cpu-specs/ryzen-threadripper-pro-3995wx.c2314
https://en.wikipedia.org/wiki/Transistor_count
AMD Ryzen Threadripper PRO 3995WX
14th of July, 2020
(3,800 million transistors)
9/84
Rich People’s Problems
 More and more transistors
 More and more complexity
10/84
3,510 Transistors in
https://en.wikipedia.org/wiki/MOS_Technology_6502
http://6502.org/users/andre/csa/cpu/index.html
11/84
Rich People’s Problems
 AMD Ryzen Threadripper PRO 3995WX
– 14th of July, 2020
– 3,800 million transistors
 Cerebras Wafer-Scale Engine
– 28th of August, 2019
– 1.2 trillion transistors
12/84
Rich People’s Problems
 More and more transistors
 More and more bugs
13/84
(In)Famous CPU Bugs
 Pentium FDIV bug
– Incorrect floating-point
divisions
– Missing entries in the
lookup table of the
floating-point division
circuitry
– Equivalent to
$743 million in 2019
14/84
(In)Famous CPU Bugs
 Intel x86 CPUs
 IBM POWER CPUS
 Some ARM CPUs
– A process can read all
the memory
– CVE-2017-5754
– Unclear costs?
15/84
FPGAS
16/84
Alternatives?
 What if we could (re)program CPUs as we
program/update software?
 FPGAs as alternative to CPUs
– Field-programmable gate arrays
– Integrated circuit configured after manufacturing
https://en.wikipedia.org/wiki/Field-programmable_gate_array
17/84
Field-programmable Gate Arrays
https://www.sparkfun.com/products/retired/11657
https://www.sparkfun.com/products/retired/10750
18/84
Field-programmable Gate Arrays
 A gate: OR, AND…
– Any logic function can be built from gates
 An array: a set of unconnected gates
 Field-programmable: configured by a
customer after manufacturing
19/84
Field-programmable Gate Arrays
https://www.ni.com/en-ca/innovations/white-papers/08/fpga-fundamentals.html
 Programmable interconnects
between configurable logic
blocks (CLBs)
20/84
Applications
 Soft microprocessors
 Microprocessor cores
 Soft cores
 Intel 4004 CPU
 MOS 6502
 Motorola 68000
 …
https://opencores.org
21/84
More Applications
 Specialised algorithms
– Monte Carlo methods
– Map-Reduce algorithms
– Neural networks
– Encryption
 Specialised domains
– Sensors/Actuators
– Space probes
– Cameras
– F1 steering wheels
– Video en/decoding
– Audio/Video filtering
– Software defined
networks
22/84
Typical Application
 FPGAArcade Replay 1
– 1.6M gates Xilinx
Spartan 3E FPGA
– PS/2 x2, Joysticks x2
– RS232, DVI, audio, S-
video, Composite
– JTAG, USB, SD Card
http://www.mfilos.com/2015/08/fpga-arcade-new-led-signals-on-core.html
23/84
Typical Application
https://build.fpgaarcade.com/releases/cores/R1/
 Computers
– Amiga
– C64
– VIC20
– …
 Arcades
– Crystal Castles
– Donkey Kong
– Mr. Do!
– …
24/84
Even More Applications
https://www.sparkfun.com/products/14829
https://www.mouser.ca/new/terasic-technologies/terasic-de10-nano-kit/
TinyFPGA
Bx Board
DE10-Nano Board
25/84
PROGRAMMING
Basics
26/84
Schizophrenia
 FPGA
– Software (cores)
– Hardware (chips, boards)
 Hardware description language
– Verilog
– VHDL
27/84
Development
 Dynamic rather than static
 Data flow graphs rather than class diagrams
 Data flow graphs like in compiler design
28/84
Data Flow Graphs (Procedure)
Silvia Regina Vergilio, José Carlos Maldonado, and Mario Jino ; Infeasible Paths in the
Context of Data Flow Based Testing Criteria: Identification, Classification and Prediction
; Journal of the Brazilian Computer Society, Springer, 2006
29/84
Data Flow Graphs (Interprocedural)
Rohan Padhye and Uday P. Khedker ; Interprocedural Data Flow Analysis in Soot using
Value Contexts; Proceedings of the 2nd ACM SIGPLAN International Workshop on State
Of the Art in Java Program analysis, ACM Press, 2013
30/84
Development
 Time(ing) is of the
essence
 Functions are like
processes that trigger
updates at the clock
signal
https://www.designboom.com/art/alex-chinneck-ties-antique-clock-05-18-2018/
31/84
Time(ing)?


 Quantum Field Theory
32/84
Time(ing)?


 Quantum Field Theory
Another time ;-)
33/84
Time(ing)?
 Synchronisation
 Cannot be faster than
the slowest transition
– Transistors
– Memory
– …
 Quantum Field Theory
Another time ;-)
34/84
Development
https://course.ece.cmu.edu/~ee760/760docs/blif.pdf
http://www.clifford.at/papers/2016/yosys-synth-formal/slides.pdf
 BLIF: logic-level hierarchical circuit (text)
 ASC: PADS layout ASCII design files (?)
 BIN: binary bitstream
Yosys
• Verilog
to
BLIF
NextPnR
• BLIF
to
ASC
IceStorm
• ASC
to
BIN
35/84
Development
 Yosys
– Compiles Verilog into Berkeley Logic
Interchange Format (BLIF), aka synthesis
 NextPnR
– Decides which CLBs should implement what
logic blocks of the design
– Decides which programmable switches to turn
ON to connect CLBs
https://www.eng.uwo.ca/people/wwang/ece616a/616_extra/notes_web/5_dphysicaldesign.pdf
36/84
Development
 IceStorm
– Converts ASC to a binary file that can be upload
onto the FPGA
– Generates a bitstream
– iCE is actually a brand name of Lattice
Semiconductor, which produce FPGAs
– Several FPGAs support their format because
it is open source
https://en.wikipedia.org/wiki/ICE_%28FPGA%29#Open_source
37/84
PROGRAMMING
Example
38/84
Hello World?
 “Hello World” is the typical first program
written in any language
https://www.softwaretestinghelp.com/java/hello-world-first-java-program/
39/84
Hello World!
 Blinking a LED is the
typical first “program”
written for any FPGA
40/84
Hello World!
 “FPGA design for Software Engineers”
– Jeff DeWall
– 2019/10/16
– www.walknsqualk.com/post/014-tiny-fpga-bx/
41/84
Development
Jae-yeob Kim, Eui-sub Kim, Jun-beom Yoo, Young Lee, and Jong-gyun Choi ; An
Integrated Software Testing Framework for FPGA-based Controllers in Nuclear Power
Plants ; Nuclear Engineering and Technology, Elsevier, 2016
42/84
Requirements
 Switch on a LED after some
period of time
43/84
Design
44/84
Design
 TinyFPGA Bx defines
– CLK
– LED
– USBPU
(and many more)
45/84
 Windows 10
– Because why not?
 Cygwin
– Let’s be serious!
Simulation
46/84
 00_blinky contains 5 files
– CMakeLists.txt Build directives
– conanfile.txt C/C++ dependencies
– main.cpp Test/Simulation driver
– pins.pcf Physical constraints file
– top.v Verilog module
Simulation
47/84
 CMake .
– To generate the Makefile and other files
 Make
– To compile and generate the executable
 bin/blinky.exe
– To simulate and generate trace.vcd
 GTKWave
– To visualise trace.vcd
Simulation
48/84
https://uxdesign.cc/curiouser-and-curiouser-my-journey-down-the-ux-rabbit-hole-65ffcf570bc
Simulation
49/84
https://uxdesign.cc/curiouser-and-curiouser-my-journey-down-the-ux-rabbit-hole-65ffcf570bc
That’s me!
Simulation
50/84
 Install CMake
– Build process manager
– Which led to adding all sort of dependencies
 Install Conan
– C/C++ package manager
– Which would not compile on Cygwin…
– Which was missing conanbuildinfo.cmake…
Simulation
51/84
 Install Yosys
– A framework for Verilog RTL synthesis
– Which would not compile on Cygwin…
 Install Project IceStorm
– Place and route tool
– Which would not compile on Cygwin…
Simulation
52/84
 Install NextPnR
– Place and route tool
– Which would not compile on Cygwin…
 Fixes for the compilation
– -DCMAKE_CXX_FLAGS=-std=c++11
– Implement strdup()...
– Modify
• /usr/local/share/verilator/include/verilated.cpp
• /usr/local/share/verilator/include/verilatedos.h
Simulation
53/84
Simulation
https://themidult.com/beauty-school-dropout-vita-liberata-ten-minute-tan/alice-in-wonderland-face-palm-funny-time/
54/84
Simulation
https://themidult.com/beauty-school-dropout-vita-liberata-ten-minute-tan/alice-in-wonderland-face-palm-funny-time/
That’s still me!
55/84
Simulation
https://www.kindpng.com/imgv/ixoxiTx_alice-in-wonderland-and-the-white-rabbit-png/
56/84
Simulation
 All the steps to simulate
 Simulate?
– Value Change Dump (.vcd)
– Timestamps
– Values for each signal/variable
57/84
Simulation
58/84
Simulation
59/84
Simulation
60/84
Simulation
The LED signal is up
61/84
PROGRAMMING
Deployment
62/84
 “FPGA design for Software Engineers”
– Jeff DeWall
– 2019/10/16
– www.walknsqualk.com/post/014-tiny-fpga-bx/
 “TinyFPGA BX User Guide”
– 2020/10/01
– https://tinyfpga.com/bx/guide.html
Deployment
∧
∧
∧
∧
63/84
 Windows 10
– Because why not?
– Because it works!
 Cygwin
– Not possible!
Deployment
64/84
 Doesn’t work in Cygwin
– Packages not (yet?) available
 Break on my %TEMP% in Windows
– Space + Accents
– Had to Set TEMP=D:Temp
Deployment
65/84
 Doesn’t work in Cygwin
– Packages not (yet?) available
 Break on my %TEMP% in Windows
– Space + Accents
– Had to Set TEMP=D:Temp
Deployment
66/84
Deployment
 Create a file apio.ini
 Generate and upload the bitstream
[env]
board = TinyFPGA-BX
apio build
apio upload
67/84
Deployment
 Produces 3 files
– Hardware.blif BLIF
– Hardware.asc Place and route
– Hardware.bin Bitstream
apio build
68/84
Deployment
We (re)use
Yosys and
NextPnR
69/84
Deployment
 Asks for the boot-loader to be active
 Takes the bin file and
apio upload
70/84
Deployment
The
bitstream
71/84
00_Blinky Blink_Project
Deployment
72/84
00_Blinky Blink_Project
Deployment
73/84
00_Blinky Blink_Project
Deployment
74/84
00_Blinky Blink_Project
Deployment
75/84
PROGRAMMING
More..
76/84
State Machine
A
• LED <= 0
1 B
• LED <=
counter[...]
2 C
• LED <= 1
3
77/84
State Machine
 Must consider the
speed of the FPGA
 16Mhz  16 x 1,000 x
1,000 per second
 27 bits register reg
[26:0] counter;
 24 bits, every 22nd bit
78/84
State Machine
79/84
State Machine
80/84
CONCLUSION
81/84
Okay But…
TinyFPGA Bx Particle Photon
82/84
Okay But…
TinyFPGA Bx
 ICE40LP8K FPGA
 6MB flash, 128KB RAM
 $54.72
 HDL
 Verilog
 Many tools
 USB
Particle Photon
 STM32 ARM Cortex M3
 1MB flash, 128KB RAM
 $27.71
 (Very) High-level APIs
 C
 Usual (?) compilers
 Over-the-air (WiFi)
83/84
Okay But…
 Different applications
– MCU: fix hardware, flexible “software”
– FPGA: flexible hardware, flexible “software”
 Reimplementing a processor would be
difficult (impossible) with a MCU
https://www.quora.com/Should-I-learn-FPGA-or-STM32
84/84
And More…
 How do we interconnect these with other
sensors and actuators?
 How do we test such systems?
 How do we debug/update such systems?

Contenu connexe

Similaire à Are CPUs VMs Like Any Others? v1.0

gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
ArangoDB Database
 
The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]
Mahmoud Hatem
 
Deep learning: Hardware Landscape
Deep learning: Hardware LandscapeDeep learning: Hardware Landscape
Deep learning: Hardware Landscape
Grigory Sapunov
 
OpenSPARC on FPGAs
OpenSPARC on FPGAsOpenSPARC on FPGAs
OpenSPARC on FPGAsDVClub
 
Qt5 on ti processors
Qt5 on ti processorsQt5 on ti processors
Qt5 on ti processors
Prabindh Sundareson
 
Buying a Ferrari for your teenager? You may want to think twice
Buying a Ferrari for your teenager? You may want to think twiceBuying a Ferrari for your teenager? You may want to think twice
Buying a Ferrari for your teenager? You may want to think twice
Al Zindiq
 
Introduction to FPGA acceleration
Introduction to FPGA accelerationIntroduction to FPGA acceleration
Introduction to FPGA acceleration
Marco77328
 
How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)
Drew Fustini
 
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
ryancox
 
Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!
Codemotion
 
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytesWindows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Peter Hlavaty
 
MattsonTutorialSC14.pptx
MattsonTutorialSC14.pptxMattsonTutorialSC14.pptx
MattsonTutorialSC14.pptx
gopikahari7
 
BURO Arduino Workshop
BURO Arduino WorkshopBURO Arduino Workshop
BURO Arduino Workshop
Omer Kilic
 
20131015_demo_oshk
20131015_demo_oshk20131015_demo_oshk
20131015_demo_oshkJeff Yang
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
inside-BigData.com
 
How to run Linux on RISC-V
How to run Linux on RISC-VHow to run Linux on RISC-V
How to run Linux on RISC-V
Drew Fustini
 
Tools for FPGA Development
Tools for FPGA DevelopmentTools for FPGA Development
Tools for FPGA Development
Brahim HAMADICHAREF
 
SDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLSSDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLS
NECST Lab @ Politecnico di Milano
 
Week1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC BeginWeek1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC Begin
敬倫 林
 
Talk 160920 @ Cat System Workshop
Talk 160920 @ Cat System WorkshopTalk 160920 @ Cat System Workshop
Talk 160920 @ Cat System Workshop
Quey-Liang Kao
 

Similaire à Are CPUs VMs Like Any Others? v1.0 (20)

gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
 
The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]
 
Deep learning: Hardware Landscape
Deep learning: Hardware LandscapeDeep learning: Hardware Landscape
Deep learning: Hardware Landscape
 
OpenSPARC on FPGAs
OpenSPARC on FPGAsOpenSPARC on FPGAs
OpenSPARC on FPGAs
 
Qt5 on ti processors
Qt5 on ti processorsQt5 on ti processors
Qt5 on ti processors
 
Buying a Ferrari for your teenager? You may want to think twice
Buying a Ferrari for your teenager? You may want to think twiceBuying a Ferrari for your teenager? You may want to think twice
Buying a Ferrari for your teenager? You may want to think twice
 
Introduction to FPGA acceleration
Introduction to FPGA accelerationIntroduction to FPGA acceleration
Introduction to FPGA acceleration
 
How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)
 
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
 
Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!
 
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytesWindows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
 
MattsonTutorialSC14.pptx
MattsonTutorialSC14.pptxMattsonTutorialSC14.pptx
MattsonTutorialSC14.pptx
 
BURO Arduino Workshop
BURO Arduino WorkshopBURO Arduino Workshop
BURO Arduino Workshop
 
20131015_demo_oshk
20131015_demo_oshk20131015_demo_oshk
20131015_demo_oshk
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
 
How to run Linux on RISC-V
How to run Linux on RISC-VHow to run Linux on RISC-V
How to run Linux on RISC-V
 
Tools for FPGA Development
Tools for FPGA DevelopmentTools for FPGA Development
Tools for FPGA Development
 
SDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLSSDAccel Design Contest: Vivado HLS
SDAccel Design Contest: Vivado HLS
 
Week1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC BeginWeek1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC Begin
 
Talk 160920 @ Cat System Workshop
Talk 160920 @ Cat System WorkshopTalk 160920 @ Cat System Workshop
Talk 160920 @ Cat System Workshop
 

Plus de Yann-Gaël Guéhéneuc

Some Pitfalls with Python and Their Possible Solutions v1.0
Some Pitfalls with Python and Their Possible Solutions v1.0Some Pitfalls with Python and Their Possible Solutions v1.0
Some Pitfalls with Python and Their Possible Solutions v1.0
Yann-Gaël Guéhéneuc
 
Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5
Yann-Gaël Guéhéneuc
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1
Yann-Gaël Guéhéneuc
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Yann-Gaël Guéhéneuc
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
Yann-Gaël Guéhéneuc
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9
Yann-Gaël Guéhéneuc
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
Yann-Gaël Guéhéneuc
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its Consequences
Yann-Gaël Guéhéneuc
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Yann-Gaël Guéhéneuc
 
Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2
Yann-Gaël Guéhéneuc
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1
Yann-Gaël Guéhéneuc
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
Yann-Gaël Guéhéneuc
 
ICSOC'21
ICSOC'21ICSOC'21
Vissoft21.ppt
Vissoft21.pptVissoft21.ppt
Vissoft21.ppt
Yann-Gaël Guéhéneuc
 
Service computation20.ppt
Service computation20.pptService computation20.ppt
Service computation20.ppt
Yann-Gaël Guéhéneuc
 
Serp4 iot20.ppt
Serp4 iot20.pptSerp4 iot20.ppt
Serp4 iot20.ppt
Yann-Gaël Guéhéneuc
 
Msr20.ppt
Msr20.pptMsr20.ppt
Iwesep19.ppt
Iwesep19.pptIwesep19.ppt
Icsoc20.ppt
Icsoc20.pptIcsoc20.ppt
Icsoc18.ppt
Icsoc18.pptIcsoc18.ppt

Plus de Yann-Gaël Guéhéneuc (20)

Some Pitfalls with Python and Their Possible Solutions v1.0
Some Pitfalls with Python and Their Possible Solutions v1.0Some Pitfalls with Python and Their Possible Solutions v1.0
Some Pitfalls with Python and Their Possible Solutions v1.0
 
Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its Consequences
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
 
Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
 
ICSOC'21
ICSOC'21ICSOC'21
ICSOC'21
 
Vissoft21.ppt
Vissoft21.pptVissoft21.ppt
Vissoft21.ppt
 
Service computation20.ppt
Service computation20.pptService computation20.ppt
Service computation20.ppt
 
Serp4 iot20.ppt
Serp4 iot20.pptSerp4 iot20.ppt
Serp4 iot20.ppt
 
Msr20.ppt
Msr20.pptMsr20.ppt
Msr20.ppt
 
Iwesep19.ppt
Iwesep19.pptIwesep19.ppt
Iwesep19.ppt
 
Icsoc20.ppt
Icsoc20.pptIcsoc20.ppt
Icsoc20.ppt
 
Icsoc18.ppt
Icsoc18.pptIcsoc18.ppt
Icsoc18.ppt
 

Dernier

Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
vrstrong314
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 

Dernier (20)

Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 

Are CPUs VMs Like Any Others? v1.0