Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Framework for Large-Scale emulations (thesis)
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ah-Lun Tang
June 24, 2013
Technology
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Framework for Large-Scale emulations (thesis)
Ah-Lun Tang
June 24, 2013
More Decks by Ah-Lun Tang
See All by Ah-Lun Tang
SYTYCC Hackathon - Final Pitch
ahluntang
0
360
So You Think You Can Code - pINGy - Pitch Saturday
ahluntang
0
320
Westtoer
ahluntang
1
54
Other Decks in Technology
See All in Technology
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
130
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
440
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
190
遠藤な_めぐろLT #38 「社内のAI活用推進」@麻布台_20261009
endonanana
0
130
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
770
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1.1k
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
470
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
140
エンタメ企業のM&Aを支えるデータ基盤 ― 統合から店舗のリアルタイム分析まで / Data Engineering Summit 2026
genda
0
170
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
460
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
Are puppies a ranking factor?
jonoalderson
2
4.1k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
Tell your own story through comics
letsgokoyo
1
1.1k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
Transcript
Framework voor Large-Scale emulaties door Ah-Lun Tang
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Onderzoek bij iMinds Netwerktechnologieën Netwerkprotocollen Netwerktopologieën Probleem
Probleem Virtual Wall
Emulab (Utah) Honderdtal machines Verbinden op flexibele manier Topologie emuleren
Probleem Virtual Wall
Zeer grote topologieën niet mogelijk Aantal machines beperkt Probleem Virtual
Wall
Zeer grote topologieën niet mogelijk Aantal machines beperkt Probleem Virtual
Wall
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Doelstelling Grote netwerken Genereren Hergebruiken Emuleren (virtualisatie) Technologieën onderzoeken
Genereren Framework API Bouwstenen voor topologie Topologieën eenvoudig samenstellen Complexere
topologie ondersteunen Doelstelling
Hergebruiken Topologie opslaan Leesbaar formaat: XML Te transformeren naar ander
formaat Doelstelling
Emuleren Op Virtual Wall Op basis van XML document Grote
topologie: virtualisatie Doelstelling
Onderzoek Quagga OSPF BGP OpenFlow RouteFlow ... Doelstelling
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Bestaande oplossingen? Mininet Geautomatiseerd Virtualisatie: grote topologieën Zeer simpele netwerkknopen/nodes
Nodes kunnen geen Quagga draaien Enkel script, geen XML
Geautomatiseerd Virtualisatie: grote topologieën Zeer simpele netwerkknopen/nodes Nodes kunnen geen
Quagga draaien Enkel script, geen XML Bestaande oplossingen? Mininet
Bestaande oplossingen? Mininet Geautomatiseerd Virtualisatie: grote topologieën Zeer simpele netwerkknopen/nodes
Nodes kunnen geen Quagga draaien Enkel script, geen XML
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Virtualisatie Wat is virtualisatie? Hardware Fysieke machine
Hardware Besturingssysteem Fysieke machine Besturings systeem Virtualisatie Wat is virtualisatie?
Machine opdelen in Virtuele Machines Fysieke machine VM VM VM
VM Virtualisatie Wat is virtualisatie? Besturings systeem
Fysieke machine VM VM VM VM OS OS OS OS
Virtualisatie Wat is virtualisatie? Besturings systeem Machine opdelen in Virtuele Machines
Hypervisor Volledige virtualisatie Gedeeltelijke virtualisatie Virtualisatie Hoe?
Maakt en beheert virtuele machines = virtual machine manager/monitor VM
VM VM VM Virtualisatie Hypervisor
Hosted hypervisor Bare-metal hypervisor Virtualisatie Hypervisor
Hosted hypervisor Bare-metal hypervisor Hardware Virtualisatie Hypervisor
Hosted hypervisor Bare-metal hypervisor Hardware Besturingssysteem Virtualisatie Hypervisor
Hosted hypervisor Bare-metal hypervisor Hardware Besturingssysteem Hosted Hypervisor Virtualisatie Hypervisor
Hosted hypervisor Bare-metal hypervisor Hardware Besturingssysteem Hosted Hypervisor VM VM
VM VM VM VM VM VM Virtualisatie Hypervisor
Hosted hypervisor Bare-metal hypervisor Hardware Virtualisatie Hypervisor Hardware Besturingssysteem Hosted
Hypervisor VM VM VM VM VM VM VM VM
Hosted hypervisor Bare-metal hypervisor Hardware Bare-metal hypervisor Virtualisatie Hypervisor Hardware
Besturingssysteem Hosted Hypervisor VM VM VM VM VM VM VM VM
Hosted hypervisor Bare-metal hypervisor Hardware Bare-metal hypervisor VM VM VM
VM VM VM VM VM Virtualisatie Hypervisor Hardware Besturingssysteem Hosted Hypervisor VM VM VM VM VM VM VM VM
VMware Workstation, VirtualBox, ... VMware ESXi, Microsoft Hyper-V, Citrix XenServer,...
Virtualisatie Hypervisor Hardware Besturingssysteem Hosted Hypervisor VM VM VM VM VM VM VM VM Hardware Bare-metal hypervisor VM VM VM VM VM VM VM VM
Virtualisatie volledig vs gedeeltelijk
Hypervisor Virtualisatie volledig vs gedeeltelijk
Hypervisor Hardware Virtualisatie volledig vs gedeeltelijk
Hypervisor Hardware OS Virtualisatie volledig vs gedeeltelijk
Hypervisor Hardware OS Hypervisor Virtualisatie volledig vs gedeeltelijk
Hypervisor Hardware OS Hypervisor HW Virtualisatie volledig vs gedeeltelijk
Hypervisor Hardware OS Hypervisor HW OS Virtualisatie volledig vs gedeeltelijk
Linux unshare Virtualisatie Wat gebruikt Mininet?
Functie uit Linux kernel Virtuele machines via isolatie networknamespace isoleren
Virtualisatie unshare
Virtualisatie unshare Functie uit Linux kernel Virtuele machines via isolatie
networknamespace isoleren > unshare --net /bin/bash
Virtualisatie unshare Functie uit Linux kernel Virtuele machines via isolatie
networknamespace isoleren > unshare --net /bin/bash
Hypervisor Hardware OS Virtualisatie unshare Functie uit Linux kernel Virtuele
machines via isolatie networknamespace isoleren > unshare --net /bin/bash
Hypervisor/Kernel OS Virtualisatie unshare Functie uit Linux kernel Virtuele machines
via isolatie networknamespace isoleren > unshare --net /bin/bash
Hypervisor/Kernel Bash Virtualisatie unshare Functie uit Linux kernel Virtuele machines
via isolatie networknamespace isoleren > unshare --net /bin/bash
> unshare --net /bin/bash Uitbreiding LXC Userspace Tools Virtualisatie unshare
Hypervisor/Kernel Bash Functie uit Linux kernel Virtuele machines via isolatie networknamespace isoleren
Extra pakket bij Ubuntu Maakt gebruik van unshare Volledige distributie
in VM Virtualisatie LXC
> lxc-create -n vm -t debian Virtualisatie LXC Extra pakket
bij Ubuntu Maakt gebruik van unshare Volledige distributie in VM
Virtualisatie Keuze voor Large-Scale Framework Unshare & LXC Flexibiliteit Schaalbaarheid
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Implementatie Kenmerken topologie Verbindingen & Interfaces Netwerkknopen Switches
> ip link add type veth Implementatie Kenmerken topologie Verbindingen
& Interfaces Netwerkknopen Switches
> ip link add type veth > unshare --net /bin/bash
> lxc-create -n node -t debian Implementatie Kenmerken topologie Verbindingen & Interfaces Netwerkknopen Switches
> ip link add type veth > unshare --net /bin/bash
> lxc-create -n node -t debian > brctl addbr switch Implementatie Kenmerken topologie Verbindingen & Interfaces Netwerkknopen Switches
Verbindingen & Interfaces NetworkInterface interface_id link_id address mac routes: list
gateway __init__() Implementatie Kenmerken topologie
Netwerkknoop Container container_id container_type interfaces: list networks: list scripts template
storage __init__() Implementatie Kenmerken topologie
Switches Bridge bridge_id bridge_type interfaces: list __init__() Implementatie Kenmerken topologie
Voorgedefinieerde set van topologieën ring ster mesh lijn boom bus
Implementatie Kenmerken topologie: componenten
Aantal knopen in te stellen Te verbinden met andere componenten
Implementatie Kenmerken topologie: NetworkComponent
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
API gebruiken Stappenplan Componenten aanmaken Componenten verbinden Exporteren in XML-formaat
Emuleren op Virtual Wall
API gebruiken Componenten aanmaken host = add_host(topology) star = create_star(host,
nodes, addressing, containertype, template) sun = create_star(host, nodes, addressing, containertype, template)
API gebruiken Containers verbinden star_node = star.topology['containers'] ['node1'] sun_node =
sun.topology['containers'] ['node1'] connect_elements(star_node, sun_node, star, sun, addressing)
API gebruiken Exporteren add_component_to_topology(topology, component) write_topology_xml(topology, output)
API gebruiken Emuleren op Virtual Wall > ./lscale.py emulate -f
topo.xml
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Onderzoek Schaalbaarheid? Unshare versus LXC Hoeveel containers op machine mogelijk?
Tijd tot topologie volledig aangemaakt is?
Onderzoek Testmachine Machine op wall1.ilabt.iminds.be Intel Xeon E5520 (2.27GHz) 12
GB RAM Ubuntu 12.04 LTS
Onderzoek Unshare 1 ring
Onderzoek Unshare Ring toevoegen
Onderzoek Unshare Ring toevoegen
Onderzoek Unshare Ring toevoegen
Onderzoek Opzettijd
Onderzoek Ping
Onderzoek Ping
Onderzoek LXC 1 ster
Onderzoek LXC ster toevoegen
Onderzoek LXC ster toevoegen
Onderzoek LXC ster toevoegen
Onderzoek Opzettijd
Onderzoek lxc-start
Onderzoek Ping
Indeling Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van
framework Gebruik van framework Onderzoek & resultaten Conclusie
Conclusie Voordelen Snelle generatie topologie Emulatie grotere topologieën Schaalbaar Flexibel
(unshare - LXC)
Conclusie Tekortkomingen Aantal pseudoterminals LXC werkt trager LXC niet thread-safe
Vragen?