We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byIgnacio Stork
Modified about 1 year ago
Thread pool based Web server 조태문
Copyright © 2005 Thin Multimedia, Inc. All Rights Reserved. thin multimedia inc. » 2 개발 계획 1/3 필수 요구사항 –“Get” method 에 대한 응답을 처리할 수 있어야 함. –thread pool mechanism –Boss & worker model – 각 쓰레드간 자원 공유는 전역 변수 ( 구조체 ) 를 통함. – 용도 및 목적에 따른 구조화 프로그래밍 source 분할 header 는 통합 –memory leakage 및 기타 서비스에 큰 영향이 없어야함. – 쓰레드간 동기화는 mutex 사용 –Busy wait 없음 : signal 사용. ( 조건변수로 변경 ) –daemon 화로 서비스에 등록 가능한 상태 ( 테스트 못함 )
Copyright © 2005 Thin Multimedia, Inc. All Rights Reserved. thin multimedia inc. » 3 개발 계획 2/3 부가 개발계획 – 확장성 : cgi, POST 등 ( 적용되어 있지 않음. ) –logging thread 사용 ( 적용되어 있지 않음. ) –Real time mechanism 적용. ( 필요없음. )
Copyright © 2005 Thin Multimedia, Inc. All Rights Reserved. thin multimedia inc. » 4 개발 계획 3/3 개발기간 –2009/01/19 ~ 2009/02/9 시험목록 – 안정 – 성능
Copyright © 2005 Thin Multimedia, Inc. All Rights Reserved. thin multimedia inc. » 5 Server over view Start run loop = 1 Server initailize SIG_INT signal? loop = 0 loop? Server destroy End loop == 1 loop == 0 accept Client socket queue (Shared) mutex_locking push mutex_unlocking HTTP processing in Worker thread Main thread mutex_locking pop mutex_unlocking Send HTML to client
Copyright © 2005 Thin Multimedia, Inc. All Rights Reserved. thin multimedia inc. » 6 initializing scenario Start Create listen socket SO_REUSEADDR SIG_INT wait Create clinet scoket queue Init socket queue Init thread pool Create worker thread Init work thread info thread detach Init main(accept loop) thread thread detach All threads check worker thread suspend
Copyright © 2005 Thin Multimedia, Inc. All Rights Reserved. thin multimedia inc. » 7 Boss & Worker & Shared queue accept Client socket queue (Shared) mutex_locking push mutex_unlocking client request Connect() Search Idle woker thread pthread_cond_wait thread info = BUSY request read ( timeout 10 sec) HTTP parsing HTML read send HTML to client( timeout 10 sec ) thread info = IDLE Worker thread init mutex_locking pop mutex_unlocking loop? Worker thread exit pthread_cond_signal going active pop fail going suspend pop success loop == 1 loop == 0 mutex_locking pop mutex_unlocking loop? loop == 1 Main thread exit loop == 0
Socket programming. What is a socket? goal: learn how to build client/server applications that communicate using sockets socket: door between application.
ELEN 602 Lecture 11 ELEN 602 Computer Communications & Networks Instructor: Narasimha Reddy Contact: , 320 F Wisenbaker Textbook:
Internet i jego zastosowania 1 J2EE Servlets. Internet i jego zastosowania 2 Agenda Overview Servlet Interface Servlet Context Request Response Sample.
Chapter 5: Distributed systems with JAVA: sockets, RMI, Threads Rufin Soh Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES.
The Honeypot Project By Itzik Jislin Yiftach Benjamini Supervisor: Ben Bershtein.
The Server Management Tool (SMT). All Rights Reserved © Alcatel-Lucent | SMT Module Objectives SMT Overview and architecture How to start the SMT.
Copyright © 2008 SAS Institute Inc. All rights reserved. SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks.
Copyright 2011 John Wiley & Sons, Inc2 - 1 Business Data Communications and Networking 11th Edition Jerry Fitzgerald and Alan Dennis John Wiley & Sons,
Designing Web Applications. client server architectures design patterns model 2 web applications.
Copyright © 2010, SAS Institute Inc. All rights reserved. SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks.
4 Copyright © 2005, Oracle. All rights reserved. Creating the Web Tier: Servlets.
1 Rajkumar Buyya School of Computer Science and Software Engineering Monash Technology Melbourne, Australia URL:
C# Threading & Timers C#.NET Software Development Version 1.1.
An Introduction to SPIKE, the Fuzzer Creation Kit Dave Aitel
GT4 GridFTP for Developers: The New GridFTP Server Bill Allcock, ANL NeSC, Edinburgh, Scotland Jan 27-28, 2005.
Tornado and VxWorks. Copyright © Wind River Systems, Inc.2 Tornado-VxWorks Architecture The Real-Time, Multitasking OS Intertask Synchronization and Communication.
CGI programming. Common Gateway Interface interface between web server and other programs (cgi scripts) information passed as environment variables passed.
20 Maart 2006ISS - Internet Applications Part 21 Internet Applications part 2 René de Vries Based on slides by M.L. Liu and Marko van Eekelen.
Operating Systems Semaphores II. Producer/Consumer Problem Consumer must wait for producer to fill buffers, if none full –(scheduling constraint) Producer.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 4.1 Chapter 4.
Node.JS - Blurring the Line Between Client and Server var title = “ Node.JS - Blurring the Line Between Client and Server ”; $(this).attr(“title”, title);
Wireless Markup Language - Vedantis. Copyright © [Vedantis Inc.]. All rights reserved Wireless Markup Language o Introduction Internet today has made.
Java and embedded systems. aQute Copyright © 2002 All rights reserved About me Peter Kriens Work as a consultant (mainly for for ERICSSON) Finnasandsvagen.
Progress report 2012/05/01. Reminding Goals : to build a multi-core platform with Hadoop environment Base board & FPGA & fiber ports Tegra2 Application.
CE881: Mobile and Social Application Programming Networking Simon M. Lucas.
How to Build Multi- threaded Applications in.NET Mazen S. Alzogbi Technology Specialist Microsoft Corporation.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Executional Architecture Lecture Conceptual vs execution Conceptual Architecture Execution Architecture Component Connector Domain-level responsibilities.
Introduction to Sockets Jan Why do we need sockets? Provides an abstraction for interprocess communication.
LIS650 lecture 6 http and apache Thomas Krichel
© 2016 SlidePlayer.com Inc. All rights reserved.