SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
© 2010 IBM Corporation
MULTI-PIPES
Eric Van Hensbergen (IBM Research)
Noah Evans (Alcatel-Lucent Bell-Labs)
Pravin Shinde (ETH Zurich)
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation
Motivation
Figure 7: The data dependency graph for a portion of the Hartree-Fock
procedure using a traditional formulation.
12
64,000 Node TorusDataflow Oriented HPC Problems
2
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation
PUSH Pipelines
3
For more detail: refer to PODC09 Short Paper on PUSH Dataflow Shell
UNIX Model
a | b | c
PUSH Model
a |< b >| c
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation
AAA
BBB
ABABAB
ABA
BAB
4
Problem: Limitations of Traditional Pipes
AAA
BBB
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation5
Long Packet Pipes
AAA
BBB
AAA BBB
BBB
AAA
AAA
BBB
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation
TYPE
SIZE
DESTINATION
PARAMETERS
pwrite(pipefd, buf, sz, ~(0));
6
Header Control Blocks
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation7
Enumerated Pipes
1:A 2:B
A B
A B
A
B
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation
A
A
A
Broadcast
Reduce(+)
Allreduce(+)
(B+C)
B
C
(A+B+C)
B
C
A
8
Collective Pipes
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation
spliceto(b) a b = a b
splicefrom(b) a b = a b
9
Splicing Pipes
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation
Example Simple Invocation
•mpipefs
•mount /srv/mpipe /n/testpipe
•ls -l /n/testpipe
•echo hello > /n/testpipe/data &
•cat /n/testpipe/data
10
--rw-rw-rw- M 24 ericvh ericvh 0 Oct 10 18:10 /n/testpipe/data
hello
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation
Passing Arguments via aname
•mount /srv/mpipe /n/test othername
•ls -l /n/test
•mount /srv/mpipe /n/test2 -b bcastpipe
•mount /srv/mpipe /n/test3 -e 5 enumpipe
•....you get the idea, read the man page for more details
11
--rw-rw-rw- M 26 ericvh ericvh 0 Oct 10 18:12 /n/test/otherpipe
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation
Example for writing control blocks
int
pipewrite(int fd, char *data, ulong size, ulong which)
{
int n;
char hdr[255];
ulong tag = ~0;
char pkttype='p';
/* header byte is at offset ~0 */
n = snprint(hdr, 31, "%cn%ludn%ludnn", pkttype, size, which);
n = pwrite(fd, hdr, n+1, tag);
if(n <= 0)
return n;
return write(fd, data, size);
}
12
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation
Larger Example (execfs)
13
/proc
/clone
/###
/stdin
/stdout
/stderr
/args
/ctl
/fd
/fpregs
/kregs
/mem
/note
/noteid
/notepg
/ns
/proc
/profile
/regs
/segment
/status
/text
/wait
mount -a /srv/mpipe /proc/### stdin
mount -a /srv/mpipe /proc/### stdout
mount -a /srv/mpipe /proc/### stderr
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation
Really Large Example (gangfs)
14
/proc
/gclone
/status
/g###
/stdin
/stdout
/stderr
/ctl
/ns
/status
/wait
mount -a /srv/mpipe /proc/### -b stdin
mount -a /srv/mpipe /proc/### stdout
mount -a /srv/mpipe /proc/### stderr
...and then, post exec from gangfs clone - execfs stdins are splicedfrom g#/stdin
...and then execfs stdouts and stderrs are splicedto g#/stdout and g#/stderr
...and you can do -e # with stdin to get enumerated instead of brodcast pipes
Tuesday, November 23, 2010
IBM Research
© 2010 IBM Corporation
This project is supported in part by the
U.S. Department of Energy under
Award Number DE-FG02- 08ER25851
http://www.research.ibm.com/austin
http://goo.gl/5eFB
Code Available: http://www.bitbucket.org/ericvh/hare/sys/src/cmd/uem
Man Page Available: http://www.bitbucket.org/ericvh/hare/sys/man/4/mpipefs
15
Tuesday, November 23, 2010

Mais conteúdo relacionado

Mais procurados

機械学習によるデータ分析 実践編
機械学習によるデータ分析 実践編機械学習によるデータ分析 実践編
機械学習によるデータ分析 実践編Ryota Kamoshida
 
Tpr star tree
Tpr star treeTpr star tree
Tpr star treeWin Yu
 
Digital Signal Processing in Hadoop
Digital Signal Processing in HadoopDigital Signal Processing in Hadoop
Digital Signal Processing in HadoopAdam Laiacano
 
General Programming on the GPU - Confoo
General Programming on the GPU - ConfooGeneral Programming on the GPU - Confoo
General Programming on the GPU - ConfooSirKetchup
 
PyHEP 2019: Python Histogramming Packages
PyHEP 2019: Python Histogramming PackagesPyHEP 2019: Python Histogramming Packages
PyHEP 2019: Python Histogramming PackagesHenry Schreiner
 
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNF
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNFPBLib - A Library for Encoding Pseudo-Boolean Constraints into CNF
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNFTobias Philipp
 
Memory efficient pytorch
Memory efficient pytorchMemory efficient pytorch
Memory efficient pytorchHyungjoo Cho
 
自己的PCB自己做
自己的PCB自己做自己的PCB自己做
自己的PCB自己做Sean Chen
 
Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)
Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)
Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)indiangarg
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 
DCC2014 - Fully Online Grammar Compression in Constant Space
DCC2014 - Fully Online Grammar Compression in Constant SpaceDCC2014 - Fully Online Grammar Compression in Constant Space
DCC2014 - Fully Online Grammar Compression in Constant SpaceYasuo Tabei
 
CHEP 2019: Recent developments in histogram libraries
CHEP 2019: Recent developments in histogram librariesCHEP 2019: Recent developments in histogram libraries
CHEP 2019: Recent developments in histogram librariesHenry Schreiner
 
CPM2013-tabei201306
CPM2013-tabei201306CPM2013-tabei201306
CPM2013-tabei201306Yasuo Tabei
 
PyData NYC whatsnew NumPy-SciPy 2019
PyData NYC whatsnew NumPy-SciPy 2019PyData NYC whatsnew NumPy-SciPy 2019
PyData NYC whatsnew NumPy-SciPy 2019Ralf Gommers
 
DPF 2017: GPUs in LHCb for Analysis
DPF 2017: GPUs in LHCb for AnalysisDPF 2017: GPUs in LHCb for Analysis
DPF 2017: GPUs in LHCb for AnalysisHenry Schreiner
 
Tensorflow in practice by Engineer - donghwi cha
Tensorflow in practice by Engineer - donghwi chaTensorflow in practice by Engineer - donghwi cha
Tensorflow in practice by Engineer - donghwi chaDonghwi Cha
 
Regularised Cross-Modal Hashing (SIGIR'15 Poster)
Regularised Cross-Modal Hashing (SIGIR'15 Poster)Regularised Cross-Modal Hashing (SIGIR'15 Poster)
Regularised Cross-Modal Hashing (SIGIR'15 Poster)Sean Moran
 

Mais procurados (20)

機械学習によるデータ分析 実践編
機械学習によるデータ分析 実践編機械学習によるデータ分析 実践編
機械学習によるデータ分析 実践編
 
Tpr star tree
Tpr star treeTpr star tree
Tpr star tree
 
Digital Signal Processing in Hadoop
Digital Signal Processing in HadoopDigital Signal Processing in Hadoop
Digital Signal Processing in Hadoop
 
General Programming on the GPU - Confoo
General Programming on the GPU - ConfooGeneral Programming on the GPU - Confoo
General Programming on the GPU - Confoo
 
PyHEP 2019: Python Histogramming Packages
PyHEP 2019: Python Histogramming PackagesPyHEP 2019: Python Histogramming Packages
PyHEP 2019: Python Histogramming Packages
 
160511理論談話会
160511理論談話会160511理論談話会
160511理論談話会
 
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNF
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNFPBLib - A Library for Encoding Pseudo-Boolean Constraints into CNF
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNF
 
Memory efficient pytorch
Memory efficient pytorchMemory efficient pytorch
Memory efficient pytorch
 
自己的PCB自己做
自己的PCB自己做自己的PCB自己做
自己的PCB自己做
 
Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)
Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)
Some Commonly asked Function/Objects Vs. header files (CBSE 12th Exam)
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
Faster Python, FOSDEM
Faster Python, FOSDEMFaster Python, FOSDEM
Faster Python, FOSDEM
 
DCC2014 - Fully Online Grammar Compression in Constant Space
DCC2014 - Fully Online Grammar Compression in Constant SpaceDCC2014 - Fully Online Grammar Compression in Constant Space
DCC2014 - Fully Online Grammar Compression in Constant Space
 
CHEP 2019: Recent developments in histogram libraries
CHEP 2019: Recent developments in histogram librariesCHEP 2019: Recent developments in histogram libraries
CHEP 2019: Recent developments in histogram libraries
 
CPM2013-tabei201306
CPM2013-tabei201306CPM2013-tabei201306
CPM2013-tabei201306
 
PyData NYC whatsnew NumPy-SciPy 2019
PyData NYC whatsnew NumPy-SciPy 2019PyData NYC whatsnew NumPy-SciPy 2019
PyData NYC whatsnew NumPy-SciPy 2019
 
DPF 2017: GPUs in LHCb for Analysis
DPF 2017: GPUs in LHCb for AnalysisDPF 2017: GPUs in LHCb for Analysis
DPF 2017: GPUs in LHCb for Analysis
 
Tensorflow in practice by Engineer - donghwi cha
Tensorflow in practice by Engineer - donghwi chaTensorflow in practice by Engineer - donghwi cha
Tensorflow in practice by Engineer - donghwi cha
 
Ct479 9
Ct479 9Ct479 9
Ct479 9
 
Regularised Cross-Modal Hashing (SIGIR'15 Poster)
Regularised Cross-Modal Hashing (SIGIR'15 Poster)Regularised Cross-Modal Hashing (SIGIR'15 Poster)
Regularised Cross-Modal Hashing (SIGIR'15 Poster)
 

Destaque

Simulation Directed Co-Design from Smartphones to Supercomputers
Simulation Directed Co-Design from Smartphones to SupercomputersSimulation Directed Co-Design from Smartphones to Supercomputers
Simulation Directed Co-Design from Smartphones to SupercomputersEric Van Hensbergen
 
Scalable Elastic Systems Architecture (SESA)
Scalable Elastic Systems Architecture (SESA)Scalable Elastic Systems Architecture (SESA)
Scalable Elastic Systems Architecture (SESA)Eric Van Hensbergen
 
Balance, Flexibility, and Partnership: An ARM Approach to Future HPC Node Arc...
Balance, Flexibility, and Partnership: An ARM Approach to Future HPC Node Arc...Balance, Flexibility, and Partnership: An ARM Approach to Future HPC Node Arc...
Balance, Flexibility, and Partnership: An ARM Approach to Future HPC Node Arc...Eric Van Hensbergen
 
ISC14 Embedded HPC BoF Panel Presentation
ISC14 Embedded HPC BoF Panel PresentationISC14 Embedded HPC BoF Panel Presentation
ISC14 Embedded HPC BoF Panel PresentationEric Van Hensbergen
 
Big data processing using hadoop poster presentation
Big data processing using hadoop poster presentationBig data processing using hadoop poster presentation
Big data processing using hadoop poster presentationAmrut Patil
 

Destaque (8)

Brasil Ross 2011
Brasil Ross 2011Brasil Ross 2011
Brasil Ross 2011
 
Multi-pipes
Multi-pipesMulti-pipes
Multi-pipes
 
Simulation Directed Co-Design from Smartphones to Supercomputers
Simulation Directed Co-Design from Smartphones to SupercomputersSimulation Directed Co-Design from Smartphones to Supercomputers
Simulation Directed Co-Design from Smartphones to Supercomputers
 
Scalable Elastic Systems Architecture (SESA)
Scalable Elastic Systems Architecture (SESA)Scalable Elastic Systems Architecture (SESA)
Scalable Elastic Systems Architecture (SESA)
 
Balance, Flexibility, and Partnership: An ARM Approach to Future HPC Node Arc...
Balance, Flexibility, and Partnership: An ARM Approach to Future HPC Node Arc...Balance, Flexibility, and Partnership: An ARM Approach to Future HPC Node Arc...
Balance, Flexibility, and Partnership: An ARM Approach to Future HPC Node Arc...
 
ISC14 Embedded HPC BoF Panel Presentation
ISC14 Embedded HPC BoF Panel PresentationISC14 Embedded HPC BoF Panel Presentation
ISC14 Embedded HPC BoF Panel Presentation
 
VirtFS
VirtFSVirtFS
VirtFS
 
Big data processing using hadoop poster presentation
Big data processing using hadoop poster presentationBig data processing using hadoop poster presentation
Big data processing using hadoop poster presentation
 

Semelhante a Multipipes

Automatic and Interpretable Machine Learning with H2O and LIME
Automatic and Interpretable Machine Learning with H2O and LIMEAutomatic and Interpretable Machine Learning with H2O and LIME
Automatic and Interpretable Machine Learning with H2O and LIMEJo-fai Chow
 
Time Sensitive Networking in the Linux Kernel
Time Sensitive Networking in the Linux KernelTime Sensitive Networking in the Linux Kernel
Time Sensitive Networking in the Linux Kernelhenrikau
 
The Other HPC: High Productivity Computing
The Other HPC: High Productivity ComputingThe Other HPC: High Productivity Computing
The Other HPC: High Productivity ComputingUniversity of Washington
 
Node Interactive Debugging Node.js In Production
Node Interactive Debugging Node.js In ProductionNode Interactive Debugging Node.js In Production
Node Interactive Debugging Node.js In ProductionYunong Xiao
 
Leakage power optimization for ripple carry adder
Leakage power optimization for ripple carry adder Leakage power optimization for ripple carry adder
Leakage power optimization for ripple carry adder NAVEEN TOKAS
 
Bt0068, computer organization and architecture
Bt0068, computer organization and architectureBt0068, computer organization and architecture
Bt0068, computer organization and architecturesmumbahelp
 
Ds8000 Practical Performance Analysis P04 20060718
Ds8000 Practical Performance Analysis P04 20060718Ds8000 Practical Performance Analysis P04 20060718
Ds8000 Practical Performance Analysis P04 20060718brettallison
 
Deploying a Task-based Runtime System on Raspberry Pi Clusters
Deploying a Task-based Runtime System on Raspberry Pi ClustersDeploying a Task-based Runtime System on Raspberry Pi Clusters
Deploying a Task-based Runtime System on Raspberry Pi ClustersPatrick Diehl
 
The FE-I4 Pixel Readout System-on-Chip for ATLAS Experiment Upgrades
The FE-I4 Pixel Readout System-on-Chip  for ATLAS Experiment UpgradesThe FE-I4 Pixel Readout System-on-Chip  for ATLAS Experiment Upgrades
The FE-I4 Pixel Readout System-on-Chip for ATLAS Experiment Upgradesthemperek
 
N5AC 2015 06-13 Ham-Com SmartSDR API
N5AC 2015 06-13 Ham-Com SmartSDR APIN5AC 2015 06-13 Ham-Com SmartSDR API
N5AC 2015 06-13 Ham-Com SmartSDR APIN5AC
 
PASTE: A Network Programming Interface for Non-Volatile Main Memory
PASTE: A Network Programming Interface for Non-Volatile Main MemoryPASTE: A Network Programming Interface for Non-Volatile Main Memory
PASTE: A Network Programming Interface for Non-Volatile Main Memorymicchie
 
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data Exfiltration
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data ExfiltrationMind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data Exfiltration
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data ExfiltrationCheckmarx
 
Hadoop for Data Science: Moving from BI dashboards to R models, using Hive st...
Hadoop for Data Science: Moving from BI dashboards to R models, using Hive st...Hadoop for Data Science: Moving from BI dashboards to R models, using Hive st...
Hadoop for Data Science: Moving from BI dashboards to R models, using Hive st...huguk
 
Afterwork big data et data viz - du lac à votre écran
Afterwork big data et data viz - du lac à votre écranAfterwork big data et data viz - du lac à votre écran
Afterwork big data et data viz - du lac à votre écranJoseph Glorieux
 
Data Science Connect, July 22nd 2014 @IBM Innovation Center Zurich
Data Science Connect, July 22nd 2014 @IBM Innovation Center ZurichData Science Connect, July 22nd 2014 @IBM Innovation Center Zurich
Data Science Connect, July 22nd 2014 @IBM Innovation Center ZurichRomeo Kienzler
 
1606015 m1 yamamoto
1606015 m1 yamamoto1606015 m1 yamamoto
1606015 m1 yamamotorobo_lab
 

Semelhante a Multipipes (20)

Lecture 8.ppt
Lecture 8.pptLecture 8.ppt
Lecture 8.ppt
 
Automatic and Interpretable Machine Learning with H2O and LIME
Automatic and Interpretable Machine Learning with H2O and LIMEAutomatic and Interpretable Machine Learning with H2O and LIME
Automatic and Interpretable Machine Learning with H2O and LIME
 
Time Sensitive Networking in the Linux Kernel
Time Sensitive Networking in the Linux KernelTime Sensitive Networking in the Linux Kernel
Time Sensitive Networking in the Linux Kernel
 
The Other HPC: High Productivity Computing
The Other HPC: High Productivity ComputingThe Other HPC: High Productivity Computing
The Other HPC: High Productivity Computing
 
Node Interactive Debugging Node.js In Production
Node Interactive Debugging Node.js In ProductionNode Interactive Debugging Node.js In Production
Node Interactive Debugging Node.js In Production
 
Leakage power optimization for ripple carry adder
Leakage power optimization for ripple carry adder Leakage power optimization for ripple carry adder
Leakage power optimization for ripple carry adder
 
Bt0068, computer organization and architecture
Bt0068, computer organization and architectureBt0068, computer organization and architecture
Bt0068, computer organization and architecture
 
Ds8000 Practical Performance Analysis P04 20060718
Ds8000 Practical Performance Analysis P04 20060718Ds8000 Practical Performance Analysis P04 20060718
Ds8000 Practical Performance Analysis P04 20060718
 
Deploying a Task-based Runtime System on Raspberry Pi Clusters
Deploying a Task-based Runtime System on Raspberry Pi ClustersDeploying a Task-based Runtime System on Raspberry Pi Clusters
Deploying a Task-based Runtime System on Raspberry Pi Clusters
 
The FE-I4 Pixel Readout System-on-Chip for ATLAS Experiment Upgrades
The FE-I4 Pixel Readout System-on-Chip  for ATLAS Experiment UpgradesThe FE-I4 Pixel Readout System-on-Chip  for ATLAS Experiment Upgrades
The FE-I4 Pixel Readout System-on-Chip for ATLAS Experiment Upgrades
 
N5AC 2015 06-13 Ham-Com SmartSDR API
N5AC 2015 06-13 Ham-Com SmartSDR APIN5AC 2015 06-13 Ham-Com SmartSDR API
N5AC 2015 06-13 Ham-Com SmartSDR API
 
PASTE: A Network Programming Interface for Non-Volatile Main Memory
PASTE: A Network Programming Interface for Non-Volatile Main MemoryPASTE: A Network Programming Interface for Non-Volatile Main Memory
PASTE: A Network Programming Interface for Non-Volatile Main Memory
 
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data Exfiltration
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data ExfiltrationMind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data Exfiltration
Mind the (Air)Gap: Checkmarx Research into NFC and Smart Bulb Data Exfiltration
 
Serial-War
Serial-WarSerial-War
Serial-War
 
Hadoop for Data Science: Moving from BI dashboards to R models, using Hive st...
Hadoop for Data Science: Moving from BI dashboards to R models, using Hive st...Hadoop for Data Science: Moving from BI dashboards to R models, using Hive st...
Hadoop for Data Science: Moving from BI dashboards to R models, using Hive st...
 
DOME 64-bit μDataCenter
DOME 64-bit μDataCenterDOME 64-bit μDataCenter
DOME 64-bit μDataCenter
 
Parallel io
Parallel ioParallel io
Parallel io
 
Afterwork big data et data viz - du lac à votre écran
Afterwork big data et data viz - du lac à votre écranAfterwork big data et data viz - du lac à votre écran
Afterwork big data et data viz - du lac à votre écran
 
Data Science Connect, July 22nd 2014 @IBM Innovation Center Zurich
Data Science Connect, July 22nd 2014 @IBM Innovation Center ZurichData Science Connect, July 22nd 2014 @IBM Innovation Center Zurich
Data Science Connect, July 22nd 2014 @IBM Innovation Center Zurich
 
1606015 m1 yamamoto
1606015 m1 yamamoto1606015 m1 yamamoto
1606015 m1 yamamoto
 

Mais de Eric Van Hensbergen (14)

Scaling Arm from One to One Trillion
Scaling Arm from One to One TrillionScaling Arm from One to One Trillion
Scaling Arm from One to One Trillion
 
HARE 2010 Review
HARE 2010 ReviewHARE 2010 Review
HARE 2010 Review
 
PUSH-- a Dataflow Shell
PUSH-- a Dataflow ShellPUSH-- a Dataflow Shell
PUSH-- a Dataflow Shell
 
XCPU3: Workload Distribution and Aggregation
XCPU3: Workload Distribution and AggregationXCPU3: Workload Distribution and Aggregation
XCPU3: Workload Distribution and Aggregation
 
9P Code Walkthrough
9P Code Walkthrough9P Code Walkthrough
9P Code Walkthrough
 
9P Overview
9P Overview9P Overview
9P Overview
 
Push Podc09
Push Podc09Push Podc09
Push Podc09
 
Libra: a Library OS for a JVM
Libra: a Library OS for a JVMLibra: a Library OS for a JVM
Libra: a Library OS for a JVM
 
Effect of Virtualization on OS Interference
Effect of Virtualization on OS InterferenceEffect of Virtualization on OS Interference
Effect of Virtualization on OS Interference
 
PROSE
PROSEPROSE
PROSE
 
Libra Library OS
Libra Library OSLibra Library OS
Libra Library OS
 
Systems Support for Many Task Computing
Systems Support for Many Task ComputingSystems Support for Many Task Computing
Systems Support for Many Task Computing
 
Holistic Aggregate Resource Environment
Holistic Aggregate Resource EnvironmentHolistic Aggregate Resource Environment
Holistic Aggregate Resource Environment
 
Paravirtualized File Systems
Paravirtualized File SystemsParavirtualized File Systems
Paravirtualized File Systems
 

Último

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Último (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Multipipes

  • 1. © 2010 IBM Corporation MULTI-PIPES Eric Van Hensbergen (IBM Research) Noah Evans (Alcatel-Lucent Bell-Labs) Pravin Shinde (ETH Zurich) Tuesday, November 23, 2010
  • 2. IBM Research © 2010 IBM Corporation Motivation Figure 7: The data dependency graph for a portion of the Hartree-Fock procedure using a traditional formulation. 12 64,000 Node TorusDataflow Oriented HPC Problems 2 Tuesday, November 23, 2010
  • 3. IBM Research © 2010 IBM Corporation PUSH Pipelines 3 For more detail: refer to PODC09 Short Paper on PUSH Dataflow Shell UNIX Model a | b | c PUSH Model a |< b >| c Tuesday, November 23, 2010
  • 4. IBM Research © 2010 IBM Corporation AAA BBB ABABAB ABA BAB 4 Problem: Limitations of Traditional Pipes AAA BBB Tuesday, November 23, 2010
  • 5. IBM Research © 2010 IBM Corporation5 Long Packet Pipes AAA BBB AAA BBB BBB AAA AAA BBB Tuesday, November 23, 2010
  • 6. IBM Research © 2010 IBM Corporation TYPE SIZE DESTINATION PARAMETERS pwrite(pipefd, buf, sz, ~(0)); 6 Header Control Blocks Tuesday, November 23, 2010
  • 7. IBM Research © 2010 IBM Corporation7 Enumerated Pipes 1:A 2:B A B A B A B Tuesday, November 23, 2010
  • 8. IBM Research © 2010 IBM Corporation A A A Broadcast Reduce(+) Allreduce(+) (B+C) B C (A+B+C) B C A 8 Collective Pipes Tuesday, November 23, 2010
  • 9. IBM Research © 2010 IBM Corporation spliceto(b) a b = a b splicefrom(b) a b = a b 9 Splicing Pipes Tuesday, November 23, 2010
  • 10. IBM Research © 2010 IBM Corporation Example Simple Invocation •mpipefs •mount /srv/mpipe /n/testpipe •ls -l /n/testpipe •echo hello > /n/testpipe/data & •cat /n/testpipe/data 10 --rw-rw-rw- M 24 ericvh ericvh 0 Oct 10 18:10 /n/testpipe/data hello Tuesday, November 23, 2010
  • 11. IBM Research © 2010 IBM Corporation Passing Arguments via aname •mount /srv/mpipe /n/test othername •ls -l /n/test •mount /srv/mpipe /n/test2 -b bcastpipe •mount /srv/mpipe /n/test3 -e 5 enumpipe •....you get the idea, read the man page for more details 11 --rw-rw-rw- M 26 ericvh ericvh 0 Oct 10 18:12 /n/test/otherpipe Tuesday, November 23, 2010
  • 12. IBM Research © 2010 IBM Corporation Example for writing control blocks int pipewrite(int fd, char *data, ulong size, ulong which) { int n; char hdr[255]; ulong tag = ~0; char pkttype='p'; /* header byte is at offset ~0 */ n = snprint(hdr, 31, "%cn%ludn%ludnn", pkttype, size, which); n = pwrite(fd, hdr, n+1, tag); if(n <= 0) return n; return write(fd, data, size); } 12 Tuesday, November 23, 2010
  • 13. IBM Research © 2010 IBM Corporation Larger Example (execfs) 13 /proc /clone /### /stdin /stdout /stderr /args /ctl /fd /fpregs /kregs /mem /note /noteid /notepg /ns /proc /profile /regs /segment /status /text /wait mount -a /srv/mpipe /proc/### stdin mount -a /srv/mpipe /proc/### stdout mount -a /srv/mpipe /proc/### stderr Tuesday, November 23, 2010
  • 14. IBM Research © 2010 IBM Corporation Really Large Example (gangfs) 14 /proc /gclone /status /g### /stdin /stdout /stderr /ctl /ns /status /wait mount -a /srv/mpipe /proc/### -b stdin mount -a /srv/mpipe /proc/### stdout mount -a /srv/mpipe /proc/### stderr ...and then, post exec from gangfs clone - execfs stdins are splicedfrom g#/stdin ...and then execfs stdouts and stderrs are splicedto g#/stdout and g#/stderr ...and you can do -e # with stdin to get enumerated instead of brodcast pipes Tuesday, November 23, 2010
  • 15. IBM Research © 2010 IBM Corporation This project is supported in part by the U.S. Department of Energy under Award Number DE-FG02- 08ER25851 http://www.research.ibm.com/austin http://goo.gl/5eFB Code Available: http://www.bitbucket.org/ericvh/hare/sys/src/cmd/uem Man Page Available: http://www.bitbucket.org/ericvh/hare/sys/man/4/mpipefs 15 Tuesday, November 23, 2010