CS 623 Lecture #9 Yen-Yu Chen Utku Irmak. Papers to be read Better operating system features for faster network servers.Better operating system features.

Slides:



Advertisements
Similar presentations
BARNALI CHAKRABARTY. What is an Operating System ?
Advertisements

CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Flash: An efficient and portable Web server Authors: Vivek S. Pai, Peter Druschel, Willy Zwaenepoel Presented at the Usenix Technical Conference, June.
Chapter 4: Threads. Overview Multithreading Models Threading Issues Pthreads Windows XP Threads.
CS533 Concepts of Operating Systems Class 5 Integrated Task and Stack Management.
Capriccio: Scalable Threads for Internet Services ( by Behren, Condit, Zhou, Necula, Brewer ) Presented by Alex Sherman and Sarita Bafna.
Computer Science Lecture 6, page 1 CS677: Distributed OS Processes and Threads Processes and their scheduling Multiprocessor scheduling Threads Distributed.
Threads vs. Processes April 7, 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy.
3.5 Interprocess Communication Many operating systems provide mechanisms for interprocess communication (IPC) –Processes must communicate with one another.
3.5 Interprocess Communication
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Ch 4: Threads Dr. Mohamed Hefeeda.
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
Introduction to z/OS Basics © 2006 IBM Corporation Chapter 13: z/OS HTTP Server.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Chapter 4: Threads Overview Multithreading.
RDMA ENABLED WEB SERVER Rajat Sharma. Objective  To implement a Web Server serving HTTP client requests through RDMA replacing the traditional TCP/IP.
Threads. Processes and Threads  Two characteristics of “processes” as considered so far: Unit of resource allocation Unit of dispatch  Characteristics.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Objectives Thread definitions and relationship to process Multithreading.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
1 I/O Management in Representative Operating Systems.
Threads CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Scheduler Activations On BSD: Sharing Thread Management Between Kernel and Application Christopher Small and Margo Seltzer Harvard University Presenter:
Understanding Factors That Influence Performance of a Web Server Presentation CS535 Project By Thiru.
Processes.
Copyright © 2002 Wensong Zhang. Page 1 Free Software Symposium 2002 Linux Virtual Server: Linux Server Clusters for Scalable Network Services Wensong Zhang.
Introduction to the new mainframe © Copyright IBM Corp., All rights reserved. Chapter 13: z/OS HTTP Server.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Highly Available ACID Memory Vijayshankar Raman. Introduction §Why ACID memory? l non-database apps: want updates to critical data to be atomic and persistent.
Operating Systems CSE 411 CPU Management Sept Lecture 11 Instructor: Bhuvan Urgaonkar.
Department of Computer Science Southern Illinois University Edwardsville Dr. Hiroshi Fujinoki and Kiran Gollamudi {hfujino,
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services by, Matt Welsh, David Culler, and Eric Brewer Computer Science Division University.
 Zhichun Li  The Robust and Secure Systems group at NEC Research Labs  Northwestern University  Tsinghua University 2.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Networked File System CS Introduction to Operating Systems.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
Flash An efficient and portable Web server. Today’s paper, FLASH Quite old (1999) Reading old papers gives us lessons We can see which solution among.
1 Design and Performance of a Web Server Accelerator Eric Levy-Abegnoli, Arun Iyengar, Junehwa Song, and Daniel Dias INFOCOM ‘99.
Silberschatz, Galvin and Gagne ©2011Operating System Concepts Essentials – 8 th Edition Chapter 4: Threads.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
LiNK: An Operating System Architecture for Network Processors Steve Muir, Jonathan Smith Princeton University, University of Pennsylvania
Profiling Grid Data Transfer Protocols and Servers George Kola, Tevfik Kosar and Miron Livny University of Wisconsin-Madison USA.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 6.
CHEN Ge CSIS, HKU March 9, Jigsaw W3C’s Java Web Server.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Background: I/O Concurrency Brad Karp UCL Computer Science CS GZ03 / M030 2 nd October, 2008.
Background: Operating Systems Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 13 Threads Read Ch 5.1.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
Multithreaded Programing. Outline Overview of threads Threads Multithreaded Models  Many-to-One  One-to-One  Many-to-Many Thread Libraries  Pthread.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
1 Wide Area Network Emulation on the Millennium Bhaskaran Raman Yan Chen Weidong Cui Randy Katz {bhaskar, yanchen, wdc, Millennium.
Full and Para Virtualization
UNIT-3 Performance Evaluation UNIT-3 IT2031. Web Server Hardware and Performance Evaluation Key question is whether a company should host their own Web.
An Efficient Threading Model to Boost Server Performance Anupam Chanda.
1 Why Threads are a Bad Idea (for most purposes) based on a presentation by John Ousterhout Sun Microsystems Laboratories Threads!
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
/ Fast Web Content Delivery An Introduction to Related Techniques by Paper Survey B Li, Chien-chang R Sung, Chih-kuei.
Operating System Concepts
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
1 Chapter 5: Threads Overview Multithreading Models & Issues Read Chapter 5 pages
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Last Class: Introduction
Threads & multithreading
Chapter 4: Threads.
Threads CSE 2431: Introduction to Operating Systems
CS Introduction to Operating Systems
Presentation transcript:

CS 623 Lecture #9 Yen-Yu Chen Utku Irmak

Papers to be read Better operating system features for faster network servers.Better operating system features for faster network servers. High-performance web site design techniques.High-performance web site design techniques. Flash: An efficient and portable Web server.Flash: An efficient and portable Web server. How the web works: HTTP and CGI explained.How the web works: HTTP and CGI explained.

Web Performance Issues: –Why is the web slow ? –Where does the time go ? –How to improve performance ? Many techniques: –Caching, Prefetching –Web site/server performance –Wide area replication –Protocols

Better OS features for faster network servers (Banga, Druschel, Mogul) Performance of servers often disappointing given fast hardware One reason: OS not designed for servers –Lot of time in kernel mode –High concurrency –Scalability Need better OS support

Server Execution Models Process per request Pre-forked processes Event-based –One process –Use of select() Thread-based –User level vs. Kernel level Note: Dynamic content requires other processes that generate content

Event Driven Control thread should never block Can use either SIGNALS or SELECT/POLL operations SIGNALS do not scale well SELECT also has problems with interface and implementation

Event Driven Non-blocking I/O problem not completely solved by AIO library –Need to rewrite code –Directory lookups, stat() –No select to detect completion

Multi-Threaded Kernel-level: High overhead User-level: If one thread blocks, all threads in process block “Scheduler Activations” help Current thread implementations do not scale Some techniques exist but are not part of current OS

Scheduling/Resource Management Kernel-level (network) processing not properly accounted for May be charged to process running Network has priority Does not work within process Problem for QoS

New Features Proposed Resource containers –Groups resources used by one connection –Has priority –Thread-based: container per thread (= connection) –Event-based: container per connection

Efficient support for events Application can tell kernel which descriptors they are interested in –Persists over multiple calls Event notification –Preserves priorities –Queuing of events

High-Performance Web Site Design Techniques (Iyengar, Challenger, Dias, Dantzig) RR-DNS TCP Routing Web server accelerator

RR-DNS Routing to multiple web servers Problems –Server side caching –Client side caching Node failures

TCP Routing Many commercial products Based on network processors Using different load-based algorithms or simple round-robin scheme Can be combined with RR-DNS

Web Server Accelerators Caches pages Based on embedded OS Could be based on network processor Caching dynamic pages –DUP algorithm (Data Update Propagation) –ODG (Object dependence graph)