230 likes | 396 Views
Java Performance on Large-Scale Servers. Allen Brown, Perry Mason, Taire Avbovbo, Oliver Fasterling. Java Performance on Large-Scale Servers. Project Outline Introduction Servers Java Benchmarks Server Performance Analysis: SPECjAppServer2004. Servers. The Basics of Servers
E N D
Java Performance on Large-Scale Servers Allen Brown, Perry Mason, Taire Avbovbo, Oliver Fasterling ECE 5367 – Computer Architecture
Java Performance on Large-Scale Servers Project Outline • Introduction • Servers • Java • Benchmarks • Server Performance Analysis: SPECjAppServer2004 ECE 5367 – Computer Architecture
Servers The Basics of Servers • A server computer shares its resources with the users’ computers on a network. • It is possible for a computer to be a client and a server simultaneously. • There are several different types of servers such as: • Application • Chat • FTP • Mail • Web, etc… ECE 5367 – Computer Architecture
Servers • Different Types of Servers • FTPA computer responsible for serving any kind of files. • Web A computer responsible for serving web pages via the HTTP protocol to clients. • File A computer and storage device dedicated to storing files. • Print A computer that controls the print functions of other client computers. ECE 5367 – Computer Architecture
Servers • Servers in the Business World • Many large enterprises employ numerous servers to support their needs. • Due to the continual demand for ever more powerful servers in ever decreasing spaces, companies must continue to develop more efficient servers. • All types of companies use servers as the backbone for the company’s technological makeup. ECE 5367 – Computer Architecture
Java • What is Java? • History of Java • Improving on C++ • Pros and Cons • Pluses and minuses of moving away from C++ • Current Usage • Real world day-to-day application of Java ECE 5367 – Computer Architecture
Java: History • History of Java • Beginnings • The need for a better tool! • Breakthrough • World Wide Web ECE 5367 – Computer Architecture
Java: Pros & Cons • Pros of Java • Platform Independent • Secure • Reliable • Cons of Java • Slightly lower Performance ECE 5367 – Computer Architecture
Java: Usage • Current usage of Java • Just about everywhere! • Java technology components don't care what kind of computer, phone, TV, or operating system they run on ECE 5367 – Computer Architecture
What is a Benchmark? • Performance Measurement • A benchmark is a program specifically chosen to measure the performance of a target system • Workload simulation • Designed to mimic a particular type of workload on a single component or entire system. ECE 5367 – Computer Architecture
Benchmark Categories Small Benchmarks • Used by designers in early stages of development • Consists of Small programs or code fragments • Easy to fool by optimizing compilers Large Benchmarks • Consists of actual programs and applications • Can lead to real life improvement in performance ECE 5367 – Computer Architecture
Types of Benchmarks Synthetic Benchmarks • Specially created programs that impose a workload on a specific component • Used for testing out individual components such as graphic and network cards Application Benchmarks • Real world applications • Used to testing of a full system ECE 5367 – Computer Architecture
INDUSTRY STANDARD BENCHMARKS SPEC Whetstone Dhrystone HINT 3DMark Quake How do Benchmark results influence Buyers ? Compile lists Of all alternatives Determine the need For a new system Or component View Benchmark Results for all Choices Make final decision Based on results Determine configuration That yields best Performance / Price Ratio ECE 5367 – Computer Architecture
Server Performance Analysis: SPECjAppServer2004 Background • Server Performance Analysis (SPA) Team • Project: Server performance of robust Java applications. • The benchmark kits are provided by SPEC Standard Performance Evaluation Corporation. www.spec.org ECE 5367 – Computer Architecture
Server Performance Analysis: SPECjAppServer2004 What is jAppServer2004? • It is a system benchmark for measuring the performance of Java Enterprise Application Servers. • Performance is measured in TOPS (Total Operations Per Second) • Once the TOPS is known for a particular system, it is then calculated the Price/TOPS ECE 5367 – Computer Architecture
Server Performance Analysis: SPECjAppServer2004 ECE 5367 – Computer Architecture
Server Performance Analysis: SPECjAppServer2004 What is jAppServer2004? • Overview • The jAppServer2004 workload emulates a common Fortune 500 company with the following characteristics: • a heavyweight manufacturing system, • supply-chain management system, and • order/inventory system ECE 5367 – Computer Architecture
Server Performance Analysis: SPECjAppServer2004 What is jAppServer2004? Business environment model ECE 5367 – Computer Architecture
Server Performance Analysis: SPECjAppServer2004 What is jAppServer2004? • Hardware Environment (minimal configuration) • Application server • Database server • One or more clients to run the driver and supplier emulator outside the SUT. System Under Test (SUT) ECE 5367 – Computer Architecture
Server Performance Analysis: SPECjAppServer2004 What is jAppServer2004? Hardware environment ECE 5367 – Computer Architecture
Server Performance Analysis: SPECjAppServer2004 What is jAppServer2004? • Software environment • Server OS : Windows Server 2003 • J2EE 1.3 compatible application server: Sun Java System Application Server • Database environment: Microsoft SQL Server 2000 • Java Runtime Environment (JRE) 1.3 or later for the driver and supplier emulator: Sun Java 2 Platform, Enterprise Ed. (J2EE 1.3) ECE 5367 – Computer Architecture
Java Performance on Large-Scale Servers Conclusions • Benchmarks scores are available to the public • Benchmarks are compiled by a third-party and arbitrary corporation • Java is an important environment for servers • Large businesses and corporations need benchmarking results for them to decide on mass-purchasing of systems ECE 5367 – Computer Architecture
Java Performance on Large-Scale Servers References • Serverswww.howstuffworks.com • Sun Microsystemswww.sun.com/software/learnabout/java • Benchmark Resourceswww.benchmarkresources.com • Dell Inc.Server Performance Analysis Laboratory • Standard Performance Evaluation Corporationwww.spec.org/jAppServer2004 ECE 5367 – Computer Architecture