SCIF. SCIF provides a mechanism for inter-node communication within a single platform, where a node is an Intel® MIC Architecture based PCIe card or an.

Slides:



Advertisements
Similar presentations
Lecture 101 Lecture 10: Kernel Modules and Device Drivers ECE 412: Microcomputer Laboratory.
Advertisements

Device Drivers. Linux Device Drivers Linux supports three types of hardware device: character, block and network –character devices: R/W without buffering.
purpose Search : automation methods for device driver development in IP-based embedded systems in order to achieve high reliability, productivity, reusability.
Primary Author: Girish Verma Secondary Author(s): Navya Prabhakar Presenter: Navya Prabhakar Company/Organization: CircuitSutra USB Modeling Quick Start.
CS 140 Project 3 Virtual Memory
CS 4700 / CS 5700 Network Fundamentals
USERSPACE I/O Reporter: R 張凱富.
Sockets: Network IPC Internet Socket UNIX Domain Socket.
KOFI Stan Smith Intel SSG/DPD January, 2015 Kernel OpenFabrics Interface.
Review: –What functionality is supported by IP? –What IP does not do? –How many classes of IP addresses? –Explain fields in an IP header? –How subnet works?
Wang Lei Chapter 5 Device Management Chapter 5 Device Management — for the Solaris Platform.
Introduction to MIMD architectures
Read vs. mmap Tan Li. Man mmap #include void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); int munmap(void *start, size_t.
Socket Programming.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
The ‘mmap()’ method Adding the ‘mmap()’ capability to our ‘vram.c’ device-driver.
Realizing the Performance Potential of the Virtual Interface Architecture Evan Speight, Hazim Abdel-Shafi, and John K. Bennett Rice University, Dep. Of.
Basic Networking Vivek Pai Nov 26, Communication  You’ve already seen some of it –Web server project(s)  Machines have “names” –Human-readable.
Building Blocks for PRU Broad Market Success Module 4 – Linux Drivers
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
Stan Smith Intel SSG/DPD June, 2015 Kernel Fabric Interface KFI Framework.
Stan Smith Intel SSG/DPD February, 2015 Kernel OpenFabrics Interface kOFI Framework.
Memory-Mapped Files & Unified VM System Vivek Pai.
Basic Socket Programming TCP/IP overview. TCP interface Reference: –UNIX Network Programming, by Richard Stevens. –UNIX man page.
Sockets and intro to IO multiplexing. Goals We are going to study sockets programming as means to introduce IO multiplexing problem. We will revisit socket.
Fall 2000Datacom 11 Lecture 4 Socket Interface Programming: Service Interface between Applications and TCP.
CS345 Operating Systems Φροντιστήριο Άσκησης 2. Inter-process communication Exchange data among processes Methods –Signal –Pipe –Sockets.
.NET Remoting Architecture. Slide 2 CITE 4420.NET Remoting Topics Remoting Boundaries Crossing the Boundaries Distributed Applications Marshalling Channels.
The University of New Hampshire InterOperability Laboratory Introduction To PCIe Express © 2011 University of New Hampshire.
MPSS – The Software Stack
LWIP TCP/IP Stack 김백규.
Vigilante: End-to-End Containment of Internet Worms Authors : M. Costa, J. Crowcroft, M. Castro, A. Rowstron, L. Zhou, L. Zhang, and P. Barham In Proceedings.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Remote Shell CS230 Project #4 Assigned : Due date :
NCHU System & Network Lab Lab 11 Memory Mapped File.
1 Shared Memory. 2  Introduction  Creating a Shared Memory Segment  Shared Memory Control  Shared Memory Operations  Using a File as Shared Memory.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Automating and Optimizing Data Transfers for Many-core Coprocessors Student: Bin Ren, Advisor: Gagan Agrawal, NEC Intern Mentor: Nishkam Ravi, Yi Yang.
CSNB334 Advanced Operating Systems 4. Concurrency : Mutual Exclusion and Synchronization.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
CSE 466 – Fall Introduction - 1 User / Kernel Space Physical Memory mem mapped I/O kernel code user pages user code GPLR virtual kernel C
S OCKET P ROGRAMMING IN C Professor: Dr. Shu-Ching Chen TA: HsinYu Ha.
S OCKET P ROGRAMMING IN C Professor: Dr. Shu-Ching Chen TA: Hsin-Yu Ha.
Review: – Why layer architecture? – peer entities – Protocol and service interface – Connection-oriented/connectionless service – Reliable/unreliable service.
CSCI 330 UNIX and Network Programming Unit XIV: User Datagram Protocol.
Socket Programming. Computer Science, FSU2 Interprocess Communication Within a single system – Pipes, FIFOs – Message Queues – Semaphores, Shared Memory.
Introduction to FUSE (File system in USEr space) Speaker:Zong-shuo Jheng Date:March 14, 2008.
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
On Demand Paging (ODP) Update Liran Liss Mellanox Technologies.
Stan Smith Intel SSG/DPD June, 2015 Kernel Fabric Interface Kfabric Framework.
Martin Kruliš by Martin Kruliš (v1.1)1.
 Backlight 에서 나온 백색광이 액정 셀을 통과하면 서 투과율이 조절되고 red, green, blue 의 color filter 를 투과해 나오는 빛의 혼합을 통해 색이 구 성됨  Color filter 는 셀사이의 빛을 차단하는 black matrix,
1 Socket Interface. 2 Client-Server Architecture The client is the one who speaks first Typical client-server situations  Client and server on the same.
Socket Programming(1/2). Outline  1. Introduction to Network Programming  2. Network Architecture – Client/Server Model  3. TCP Socket Programming.
Lecture 1 Page 1 CS 111 Summer 2013 Important OS Properties For real operating systems built and used by real people Differs depending on who you are talking.
Sockets Intro to Network Programming. Before the internet... Early computers were entirely isolated No Internet No network No model No external communications.
1 Socket Interface. 2 Basic Sockets API Review Socket Library TCPUDP IP EthernetPPP ARP DHCP, Mail, WWW, TELNET, FTP... Network cardCom Layer 4 / Transport.
OIC Open Source Work Group. 1 Architecture IoTivity v1.0 CA API CA Control Network Config. Network Config. CoAP Protocol CoAP Protocol Interface Controller.
Martin Kruliš by Martin Kruliš (v1.1)1.
Lecture 24 – Paging implementation
Intel Many Integrated Cores Architecture
Intel MIC Architecture Internals and Optimizations
Input/Output 1 1.
Chet Douglas – DCG NVMS SW Architecture
Socket Programming in C
Persistent memory support
Making Virtual Memory Real: The Linux-x86-64 way
CS 140 Lecture Notes: Virtual Machines
Virtual Memory: Systems CSCI 380: Operating Systems
Outline Communications in Distributed Systems Socket Programming
Presentation transcript:

SCIF

SCIF provides a mechanism for inter-node communication within a single platform, where a node is an Intel® MIC Architecture based PCIe card or an Intel® Xeon® processor-based host processor complex. The SCIF driver provides a reliable connection- based messaging layer, as well as functionality which abstracts RMA operations.

Connection-based Messaging Layer(similar to TCP) scif_epd_t scif_open(void); int scif_bind(scif_epd_t epd, uint16_t pn); int scif_listen(scif_epd_t epd, int backlog); int scif_connect(scif_epd_t epd, struct scif_portID* dst); int scif_accept (scif_epd_t epd, struct scif_portID* peer, scif_epd_t* newepd, int flags); int scif_close (scif_epd_t epd);

SCIF Manual P.12

Memory Registration Designed for RMA Mechanism by which a process exposes ranges of its address space for controlled access by a process on a remote node. Memory must be registered before it can be mapped to the address space of another process or be the source or target of an RMA transfer.

Memory Registration Each connected endpoint has a registered address space off_t scif_register(scif_epd_t epd, void* addr, size_t len, off_t offset, int prot_flags, int map_flags); int scif_unregister(scif_epd_t epd, off_t offset, size_t len);

Memory Registration-mmap Like system call mmap map a fd to virtual address space void* scif_mmap(void* addr, size_t len, int prot_flags, int map_flags, scif_epd_t epd, off_t offset); int scif_munmap (void* addr, size_t len);

Memory Registration-RMA int scif_readfrom(scif_epd_t epd, off_t loffset, size_t len, off_t roffset, int rma_flags); int scif_writeto(scif_epd_t epd, off_t loffset, size_t len, off_t roffset, int rma_flags); int scif_vreadfrom(scif_epd_t epd, void* addr, size_t len, off_t offset, int rma_flags); int scif_vwriteto(scif_epd_t epd, void* addr, size_t len, off_t offset, int rma_flags);

RMA Synchronization int scif_fence_mark(scif_epd_t epd, int flags, int* mark); int scif_fence_wait(scif_epd_t epd, int mark); int scif_fence_signal(scif_epd_t epd, off_t loff, uint64_t lval, off_t roff, uint64_t rval, int flags);