Upload
nguyennhan
View
237
Download
3
Embed Size (px)
Citation preview
Arsitektur Teknologi InformasiAditya Wikan Mahastama
1Arsitektur Server
Server
● A system which provides certain services to another system, manages the use of resources for the service, and responsible for the computing- File server- Print server- Network server- Database server
● The “other system” can be in another computer system, or in the same computer system
Server – Hardware Architecture
● There is no “real” limit for a server's hardware specification
● Among all things, server is limited by microprocessor performance
● Usually a hard working server employs multiprocessors to serve its tasks
● Multiprocessor servers fall into one of two two major classes:
a. Symmetrical Multiprocessor (Tightly coupled)
b. Loosely coupled
Server – HWA – Tightly Coupled (SMP) Characteristics
● A computer system with many processors● Each processor can access every resources of
the system (symmetrical)● Access is managed by one operating system,
which must support multiprocessors, memory sharing and threads (ex. Windows Server 2003)
● Creating a thread is running a different task for the same process
Server – HWA – Tightly Coupled
Server – HWA – Tightly Coupled
Server – HWA – Tightly CoupledSoftware Execution
Server – HWA – Loosely Coupled Characteristics
● A collection of computer systems with resources, interconnected
● Tasks are distributed among these collection of hardware resources
Server – HWA – Loosely Coupled
Server – HWA – Loosely CoupledSoftware Execution
Server – HWA – Performance
● Processor performance● Memory capacity● Throughput in connections within the system
(bus)● Performance of storage peripherals● Network troughput
Client
● A client system is a system which uses service(s) of the server
● Relies on server for files, devices, processing power
● “Clients” are applications that run on client (user) systems, for example: an e-mail client.
Client – Server Computing
Server
Client system Client system Client system
Client – Server Computing
● Advantages:
- Easy to maintain
- Data consistency
- Resource efficiency● Disadvantages:
- Single point of failure
- Possibility of data bottleneck
Generic Client–Server Architecture
Multiple Servers
Server
Client system Client system
Server Server
● For extra computing power or data storage
● Uses data replication or distributed database
● Viewed by clients as a single service
Client-Server Models
● Fat clients
- The bulk of the application is running on the client
- The client knows how the data is organized and where it is
● Fat servers:
- The clients are less complex
- More of the codes runs on the server
- Network interaction and synchronization is minimised
Client-Server Models
Client-Server Interaction
Dumb Client-Server Model
True Client-Server Model
Distributed Client-Server Model
Distributed Client-Server Interaction
Diskless Node
● Variant of thin client● Using network boot to load the OS● Uses PXE (Preboot Execution Environment)
protocols to find the server and load the kernel● Distributed load, but still uses a lot of
bandwidth!
PXE Setting
Types of Servers
• Application Servers
• Audio/Video Servers
• Chat Servers
• List Servers
• Mail Servers
• News Servers
From A to Z
• Chat Servers
• Fax Servers
• FTP Servers
• Groupware Servers
• IRC Servers
• News Servers
• Proxy Servers
• Telnet Servers
• Web Servers
Karakteristik CS
• Service : Menyediakan layanan terpisah yang berbeda
• Shared resource : Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan Resourcepengaksesan Resource
• Asymmetrical Protocol : antara client dan server merupakan hubungan one-to-many.
• Mix-and-match : tidak tergantung pada platform
• Encapsulation of service : message memberitahu server apa yang akan dikerjakan
Karakteristik CS
• Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client.
• Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran
• Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message.
• Scalability : sistem C/S dapat dimekarkan baik vertikal maupun horisontal
• Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendiri
Push Technology – Push Mail
Pull Technology - SMTP
Peer-to-Peer Computing
• Another model of distributed system
• P2P does not distinguish clients and servers
– Instead all nodes are considered peers
– May each act as client, server or both– May each act as client, server or both
– Node must join P2P network
• Registers its service with central lookup service on network, or
• Broadcast request for service and respond to requests for service via discovery protocol
– Examples include Napster and Gnutella
The Client Side
• Today’s clients can perform more roles than just forwarding users requests
• Today’s clients have:
– more computing power– more computing power
– more storage space
• As the Internet usage grow, more and more PCs are connecting to the global net
• Most of the time PCs are idle
• Thin client � Fat client
Decentralization
• A key feature of peer-to-peer networks is
decentralization.
• This has many implications:
– robustness: handal– robustness: handal
– availability of information: selalu ada & tersebar
dimasing2 client
– fault-tolerance tends to come from redundancy
=> satu down yg lain bisa handle
– and shared responsibility: tugas dibagi
Technology Transition
The Client/Server Model
The Peer-to-Peer Model
Pure P2P
�Masing-masing peer berstatus setara (egaliter),
setiap peer berstatus sebagai client juga server.
�Tidak ada server pusat yang mengatur jaringan.
�Tidak ada router yang menjadi pusat jaringan.�Tidak ada router yang menjadi pusat jaringan.
� Bisa terdiri dari > 2 komputer
Why P2P?
• Information - Hard to find, impossible to
catalog and index all of the information
• Bandwidth - Hot links get hotter– Makin bagus informasi, makin laris dan makin tak
terbendung
Makin bagus informasi, makin laris dan makin tak
terbendung
– Makin banyak juga yg “memilikinya” dan tersebar
dimana-mana
• Computing resources - Heavily loaded nodes
get overloaded, idle nodes remain idle
P2P Goals/Benefits
• Cost/data sharing
• Reduce cost: operasional murah
• Resource aggregation (penggabungan) dari berbagai sumber
• Improved reliability : kerja jaringan tidak tergantung • Improved reliability : kerja jaringan tidak tergantung pada satu server
• Increased autonomy (kebebasan) pada masing-masing peer
• Anonymity/privacy masing2 peer
• Scalability : since every peer is alike, it is possible to add more peers to the system and scale to larger networks.
P2P Computing Applications
• File sharing– Improves data availability
– E.g., Napster, Gnutella, Freenet, KaZaA
• Process sharing– For large-scale computations– For large-scale computations
– Data analysis, data mining, scientific computing
– E.g.: SETI@Home, Folding@Home, distributed.net
• Collaborative environments– For remote real-time human collaboration.– Instant messaging, virtual meetings, shared whiteboards,
teleconferencing, tele-presence.– E.g.: talk, IRC, ICQ, AOL Messenger, Jabber, MS
Netmeeting, NCSA Habanero, some of Games
Dangers and Attacks on P2P
• Poisoning (files with contents different to its description)
• Polluting (inserting bad packets into the files)
• Defection (users use the service without sharing)
• Insertion of viruses (attached to other files)• Insertion of viruses (attached to other files)
• Malware (spy originally attached to the files)
• Denial of Service (slow down or stop the network traffic)
• Filtering (some networks don’t allow P2P traffic)
• Identity attacks (tracking down users and disturbing them)
• Spam (sending unsolicited information)
What is Cluster ?
• A cluster is a type of parallel and distributed processing system, which consists of a collection of interconnected stand-alone computers cooperatively working together as a single, integrated computing resource.
• A node
– a single or multiprocessor system with memory, I/O facilities, – a single or multiprocessor system with memory, I/O facilities, & OS
• A cluster:
– generally 2 or more computers (nodes) connected together
– in a single cabinet, or physically separated & connected via a LAN
– appear as a single system to users and applications
– provide a cost-effective way to gain features and benefits
Cluster Architecture
Sequential Applications
Parallel Applications
Parallel Programming Environment
Cluster Middleware
(Single System Image and Availability Infrastructure)
Sequential ApplicationsSequential Applications
Parallel ApplicationsParallel Applications
(Single System Image and Availability Infrastructure)
Cluster Interconnection Network/Switch
PC/Workstation
Network Interface Hardware
Communications
Software
PC/Workstation
Network Interface Hardware
Communications
Software
PC/Workstation
Network Interface Hardware
Communications
Software
PC/Workstation
Network Interface Hardware
Communications
Software
Clustered Systems
– Usually sharing storage via a storage-area network (SAN)
– Provides a high-availability service which survives failures• Asymmetric clustering has one machine in hot-• Asymmetric clustering has one machine in hot-
standby mode
• Symmetric clustering has multiple nodes running applications, monitoring each other
– Some clusters are for high-performance computing (HPC)• Applications must be written to use parallelization
Clustered Systems
Grid Computing
Grid Architecture
What is a Grid?
• Many definitions exist in the literature
• Early defs: Foster and Kesselman, 1998
“A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end pervasive, and inexpensive access to high-end computational facilities”
• Kleinrock 1969:
“We will probably see the spread of ‘computer utilities’, which, like present electric and telephone utilities, will service individual homes and offices across the country.”
Why do we need Grids?
• Many large-scale problems cannot be solved
by a single computer
• Globally distributed data and resources
Background: Related technologies
• Cluster computing
• Peer-to-peer computing
• Internet computing
Cluster computing
• Idea: put some PCs together and get them to
communicate
• Cheaper to build than a mainframe
supercomputersupercomputer
• Different sizes of clusters
• Scalable – can grow a cluster by adding more
PCs
Some Grid Applications
• Distributed supercomputing
• High-throughput computing
• On-demand computing
• Data-intensive computing• Data-intensive computing
• Collaborative computing
Example of Grid Computing
• SETI (Search for Extraterrestrial Intelligence) @Home project
• BOINC (Berkeley Open Infrastructure for Network Computing)
Folding@home (abbreviated as FAH or F@h) • Folding@home (abbreviated as FAH or F@h)
• Einstein@Home
• GIMPS – Great Internet Mersenne Prime Search
• LHC@home
• World Community Grid
Next
• Web Architectures