BI.Ue Coat Certified Proxysg Administrator Course

Total Page:16

File Type:pdf, Size:1020Kb

BI.Ue Coat Certified Proxysg Administrator Course BlueOCoat Secure and Acceerate Your Business a BI.ue Coat Certified ProxySG Administrator Course version 3.5.1 Student Textbook Accelerating Business Applications www. b u e coat .com BlueTouch Training Services — BCCPA Course v3.5.1 Contact Information Blue Coat Systems Inc. 410 North Mary Avenue Simnyvale, California 94085 North America (USA) Toll Free: +1.866.302.2628 (866.30.BCOAT) North America Direct (USA): +1.408.220.2200 Asia Pacific Rim (Hong Kong): +852.2166.8121 Europe, Middle East, and Africa (United Kingdom): +44 (0) 1276 854 100 [email protected] [email protected] www.bluecoat.com Copyright ©1999-2011 Blue Coat Systems, Inc. All rights reserved worldwide. No part of this document may be reproduced by any means nor translated to any electronic medium without the written consent of Blue Coat Systems, Inc. Specifications are subject to change without notice. Information contained in this document is believed to be accurate and reliable, however, Blue Coat Systems, Inc. assumes no responsibility for its use. Blue Coat, ProxySG, PacketShaper, CacheFlow, IntelligenceCenter and BlueTouch are registered trademarks of Blue Coat Systems, Inc. in the U.S. and worldwide. All other trademarks mentioned in this document are the property of their respective owners. July 2011 r Table of Contents Course Introduction .1 Chapter 1: Blue Coat Product Family 3 Chapter 2: ProxySG Fundamentals 29 Chapter 3: ProxySG Deployment 37 Chapter 4: ProxySG Licensing 53 Chapter 5: ProxySG Initial Setup 63 Chapter 6: ProxySG Management Console 71 Chapter 7: Services 89 Chapter 8: Hypertext Transfer Protocol 105 Chapter 9: Policy Management 117 Chapter 10: WebPulse 133 Chapter 11: Authentication 149 Chapter 12: Authentication Using LDAP 163 Chapter 13: Creating Notifications and Exceptions 171 Chapter 14: Access Logging 181 Chapter 15: WAN Optimization Features 197 Chapter 16: Service and Support 209 Appendix A: Deployment Planning 219 Appendix B: Introduction to IPv6 227 Appendix C: Conditional Probability 231 III BlueTouch Training Services — BCCPA Course v3.5.1 iv Course Introduction The Blue Coat Certified ProxySG Administrator course is intended for students who wish to master the fundamentals of the Blue Coat ProxySG. It is designed for students who have not taken any previous training courses about the ProxySG. Students should be familiar with basic networking concepts, such as local-area networks (LANs), the Internet, security, and IP protocols. A basic knowledge of authentication methods is also a plus. After studying this course, you will understand: • Key concepts of network security and wide-area network (WAN) optimization. • The major functions of the ProxySG, how they work, and how to administer them. • How the ProxySG interfaces with other Blue Coat products. • How to get service and support from Blue Coat. By completing this course and passing an online exam, you can become a Blue Coat Certified Proxy Administrator. Applicable Software Versions This course is based on version 6.2 of the SGOS operating system that is used on the ProxySG. If your organization uses an earlier version of SGOS, some features described in this course might not work as described here, and the appearance and functionality of screens, menus, commands, and displays might be different from what you see here. Typographic Conventions • In this book, text appearing in this font generally is text that is part of a graphical user interface. This includes text in labels, names of buttons and menus, and Web page addresses that you type into a Web browser. • Text appearing in this font generally is text that is part of a command-line interface. This includes prompts, user input, and responses. This font also is used to show the content of some communication protocols, such as headers, commands, and data between a client and a server. • In both cases, text that appears in italics like this or like this represents text that you should replace with text specific to your deployment. For example, the URL https:IlproxylPaddr.8082 appears often in this book. In this example, the text proxylPaddr should be replaced with the actual four-octet numeric IP address of your ProxySG. BlueTouch Training Services — BCCPA Course v3.5.1 2 Chapter 1: Blue Coat Product Family In a connected world, the network is increasingly becoming a platform for collaboration bringing people together to share ideas, speed decision-making, and enhance competitiveness. Collaborative applications such as teleconferencing, unified communications, and social media are being deployed at an increasing rate. An increasingly capable wide area network combines with a host of regulatory mandates to drive infrastructure and data center consolidation, enabling enterprises to gain greater efficiencies, contain costs, and enhance agility. The key trends driving business today — centralization, mobilization, and globalization — often make it difficult, if not downright impossible, to support on-demand application delivery. IT initiatives such as server consolidation and voice, video, and data convergence can disrupt network service. Your mobile applications and devices can be compromised by security breaches and data theft. And global IT infrastructures often harbor data silos that are difficult to penetrate and manage, obscuring the view of your IT resources. Maintaining a sustainable competitive advantage in a rapidly changing business environment requires new levels of responsiveness. Access to information where, when, and how it is needed is critical to success. In today’s market, information is the currency of business. Delivering a superior user experience across corporate, branch, and remote locations depends on having: • The visibility to control what is running on the network. • The ability to accelerate business applications and meter recreational traffic. • The ability to do so in a safe and secure manner. Application Delivery Networks (ADNs) are emerging as an essential requirement in addressing these challenges. Blue Coat products provide an ADN infrastructure designed to optimize and secure the flow of information to any user, on any network, anywhere. After studying this chapter, you will understand: • The concepts of the Application Delivery Network. • How Blue Coat’s product family implements the ADN. • Basic features of each member of the Blue Coat product family. 3 BlueTouch Training Services — BCCPA Course v3.5.1 Application Delivery Network S Slide 1 —1: Application Delivery Network Implementing the Application Delivery Network answers the demand for greater application mobility and security in a changing global business environment. By combining three core capabilities — application performance monitoring (visibility), WAN optimization (acceleration), and Secure Web Gateway technologies (security) — the ADN helps you: • See applications and users and how they behave on the network. • Troubleshoot performance issues. — • Accelerate mission-critical applications, streaming video, SSL, and other enterprise applications. • Secure against malware, data leaks, and performance degradation. • Enable a highly efficient and productive end-to-end user experience anytime, anywhere. Visibility ¶ ii Blue Coat’s ADN solutions provide the ability to identify and classify applications and users across the network. You can discover all application traffic, monitor the user experience, troubleshoot performance issues and resolve problems before they impact the user experience. You can: — • Automatically discover more than 600 applications. • Identify peer-to-peer (P2P), recreational, and streaming applications over any port. • Subclassify complex applications such as SAP, Oracle, Citrix, Web, CIFS, MAPI, and DCOM. • Discover URLs and external sites within HTTP. • Identify problem hosts, servers, and applications. 1 4 [[i Chapter 1: Blue Coat Product Family Acceleration Blue Coat helps you accelerate business-critical applications, including internal, external, and real-time applications to any user, anywhere — all while ensuring a headquarters work experience, wherever your users are located. Acceleration technologies include: • Object and byte caching. • Compression and basic quality-of-service capabilities. • External Web and SSL acceleration. • Protocol acceleration for TCP, CIFS/NFS, MAPI, HTTP, and more. • Advanced Web policy and bandwidth management. • Advanced application ID technology. Security Blue Coat secures your Internet gateway to help protect users from malicious content and applications. Security capabilities include: • Anti-virus and maiware scanning. • Comprehensive data loss prevention. • URL and Web content filtering. • A centrally managed distributed gateway. • Granular policy management across more than 500 variables, including user, group, application, source, content types, and transaction. • Logging, statistics, and SNMP support. 5 BIueTouchTrairNng Services — BCCPA Course v3.5.1 Blue Coat Products BlueQCoat 3 P Slide 1 —2: Blue Coat products Blue Coat products provide total visibility and control over user and application performance — and fast, secure delivery of the critical applications that fuel business productivity. Proxy Technology • Blue Coat ProxySG: Delivers a scalable proxy platform architecture to secure Web communications and accelerate the delivery of business applications. The ProxySG is built on SGOS, a custom, object-based operating system that enables flexible policy control over content, users, applications, and protocols. The ProxySG is designed
Recommended publications
  • Paper Title (Use Style: Paper Title)
    Observing Access Control Policies Using Scrabble Games Suzana Ahmad Nasiroh Omar Faculty of Computer and Mathematical Sciences, Faculty of Computer and Mathematical Sciences UiTM Shah Alam UiTM Shah Alam Selangor Malaysia. Selangor Malaysia [email protected] [email protected] Siti Zaleha Zainal Abidin Stephan Reiff-Marganiec Faculty of Computer and Mathematical Sciences, Department of Computer Science, UiTM Shah Alam University of Leicester Selangor Malaysia. United Kingdom [email protected] [email protected] Abstract—Access control is concerned with the policies that users in collaborative environments. The implementation of manage data sharing activities. It is an important aspect of e- the policies is often not a trivial task in the development of an service in many application domains such as education, health application involving data sharing. The provision of access and business. However, there is limited support in most control policies mechanisms is the weaknesses of most existing programming languages and programming environments for programming language and development tools. implementing access control policies. High-level features, such as access control management policies are usually hard coded by In this paper, we attempt to identify a collection of useful skilled programmers, who are often scarce in many applications access control policies that are common in many data sharing such as e-services. In this paper, we present an abstraction of applications. We consider an abstraction of various access control management policies in the form of extended collaborative data sharing application in the form of variation scrabble in its rules. The needs of access control policies of rules of scrabble game.
    [Show full text]
  • Comparative Programming Languages CM20253
    We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily
    [Show full text]
  • Learning Standards for Career Development and Teaching
    DOCUMENT RESUME ED 400 435 CE 072 793 TITLE Learning Standards for Career Development and Occupational Studies. Revised Edition. INSTITUTION New York State Education Dept., Albany. PUB DATE Jul 96 NOTE 103p. PUB TYPE Guides Classroom Use Teaching Guides (For Teacher)(052) EDRS PRICE MF01/PC05 Plus Postage. DESCRIPTORS *Career Development; 'Career Education; Competence; Elementary Secondary Education; Employment Potential; *Evaluation Criteria; *Integrated Curriculum; Job Skills; Learning Activities; Mastery Learning; *Specifications; *Standards; Vocational Education IDENTIFIERS New York ABSTRACT This document contains four learning standards for career development and occupational studies at three levels: elementary, intermediate, and commencement. The first section consists of these four standards:(1) career development, (2) integrated learning,(3a) universal foundation skills, and (3b) career majors. The format for displaying the standardsincludes the following: key ideas regarding the standard; performance indicators describing expectations for students and designated for one of the three levels; and sample tasks suggesting evidence of progress toward the standard at a given level. Selected sample tasks are followed by an asterisk indicating their appropriateness forinclusion in a student's career plan. The second section provides samples of student work that are intended to begin the process of articulating the performance standards at each level of achievement. Each sample indicates level, context, performance indicators, and commentary.
    [Show full text]
  • Life and Writings of Juán De Valdés, Otherwise Valdesso, Spanish
    fS" '"%IIMiiiK'i«a?..;?L.l!"3" "e VaWes 3 1924 029 olln 228 370 DATE DUE DECQjpg Cornell University Library ^^,^4^€^^/ The original of tliis book is in tlie Cornell University Library. There are no known copyright restrictions in the United States on the use of the text. http://www.archive.org/details/cu31924029228370 LIFE AND WEITINGS OP JUAN DE VALDES. LONDON PHIKTED BY SPOTTISWOODE AND CO. NEW-STREET SQUARE LIFE AND WEITINGS OF JUAN DE YALDES, SPAl^ISH EEFOEMER IN THE SIXTEENTH CENTURY, BY BENJAMIN B?^'^FFEN. WITH ^ 'translation from tfte Italian OF HIS BY JOHN T. BETTS. TAUJESIO HISPANTTS SCarPTORE SUPEKBIAT ORBIS. Daniel Rogers. NON 'MoBTruBA.~&iulia Oomaga's Motto, p. 112. ^ LONDON: BEENAED QUAEITCH, 15 PICCADILLY. 1865. ix [_T/te Hghf of Tramlation and npprodiiHiov reserved^ *®6cse JWeUitatfons \xitxt UEStpeB to txtxtt tn tje goul t^E lobe ana fear of C&oii; anti tSeg ougfit to 6e realr, not in tfic Surrg of iustness, ftut in rettwmtnt; in fragments, get smtessiklB ; tje reaUer laging tjbem at once astfte loSen fie is foearg.' ANSELM. /]^36f;f .^^^^- "'^ I T!.3 "^^ Pre:i:lonc White Library PREFACE The book entitled The Hundred and Ten Considera- tions OF SiSNiOK John Valdesso, printed at Oxford in 1638, 4to., has become scarce. It is shut up in libraries, and should a stray copy come abroad, it is rarely to be obtained by him who seeks for it. This is not so much because the work is sought for by many, and largely known; for the principles it teaches are almost as much in advance of the present times as they were in the days of the 'sainted George Herbert' and Nicholas Ferrar, who first published it in English.
    [Show full text]
  • Scénarisation D'environnements Virtuels: Vers Un Équilibre Entre Contrôle, Cohérence Et Adaptabilité
    Scénarisation d’environnements virtuels : vers un équilibre entre contrôle, cohérence et adaptabilité Camille Barot To cite this version: Camille Barot. Scénarisation d’environnements virtuels : vers un équilibre entre contrôle, co- hérence et adaptabilité. Autre. Université de Technologie de Compiègne, 2014. Français. NNT : 2014COMP1615. tel-01130812 HAL Id: tel-01130812 https://tel.archives-ouvertes.fr/tel-01130812 Submitted on 12 Mar 2015 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Par Camille BAROT Scénarisation d’environnements virtuels : vers un équilibre entre contrôle, cohérence et adaptabilité Thèse présentée pour l’obtention du grade de Docteur de l’UTC Soutenue le 24 février 2014 Spécialité : Technologies de l’Information et des Systèmes D1615 Thèse pour l’obtention du grade de Docteur de l’Université de Technologie de Compiègne Spécialité : Technologies de l’Information et des Systèmes Scénarisation d’environnements virtuels. Vers un équilibre entre contrôle, cohérence et adaptabilité. par Camille Barot Soutenue le 24 février 2014 devant un jury composé de : M. Ronan CHAMPAGNAT Maître de Conférences (HDR) Université de la Rochelle Rapporteur M. Stéphane DONIKIAN Directeur de Recherche (HDR) INRIA Rennes-Bretagne Rapporteur M. Stacy MARSELLA Professor Northeastern University Examinateur Mme Indira MOUTTAPA-THOUVENIN Enseignant-Chercheur (HDR) Université de Technologie de Compiègne Examinatrice M.
    [Show full text]
  • Visualizing and Analyzing Software Infrastructures Architecture
    featurearchitecture Visualizing and Analyzing Software Infrastructures Adam Buchsbaum, Yih-Farn Chen, Huale Huang, Eleftherios Koutsofios, John Mocenigo, and Anne Rogers, AT&T Labs—Research Michael Jankowsky, AT&T Business Services Spiros Mancoridis, Drexel University Large ompanies frequently need to redesign their software infrastruc- corporations tures in response to marketplace changes, but they must do so typically run carefully so that the new architecture will not disrupt existing op- complex C erations or increase operating costs unnecessarily. To support infrastructures these goals, system architects have long recognized the need to build a involving repository of information about all of their company’s systems and their in- hundreds or terfaces. Using this information, architects create system interface diagrams thousands of software systems. to help them study the existing architecture. ucts and service offerings. Since these queries As marketplaces At AT&T, these diagrams used to be created are unexpected and therefore the diagrams change, these and updated manually, published annually, not published, manually producing all these and distributed throughout the business units. diagrams could take a long time. This situa- infrastructures The process of manually drawing system tion would likely delay the reengineering deci- must be interface diagrams is tedious and error-prone: sion process. redesigned. The a simple diagram showing all the interconnec- We built a system called Enterprise Navi- Enterprise tions to a single system could take 30 minutes gator to let users make ad hoc queries about or more to draw, and the diagram often be- an enterprise software architecture and then Navigator system comes obsolete before it is published.
    [Show full text]
  • Wednesday, November 16, 11
    Wednesday, November 16, 11 <Insert Picture Here> Top 10 things to know about Java SE 7 Danny Coward Principal Engineer Wednesday, November 16, 11 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 3 Wednesday, November 16, 11 Java SE 7 Top 10 1. Project Coin 4 Wednesday, November 16, 11 coin, n. A piece of small change coin, v. To create new language 5 Wednesday, November 16, 11 Evolving the Language From “Evolving the Java Language” - JavaOne 2005 • Java language principles – Reading is more important than writing – Code should be a joy to read – The language should not hide what is happening – Code should do what it seems to do – Simplicity matters – Every “good” feature adds more “bad” weight – Sometimes it is best to leave things out • One language: with the same meaning everywhere • No dialects • We will evolve the Java language • But cautiously, with a long term view • “first do no harm” 6 Wednesday, November 16, 11 Better Integer Literals • Integer literals int mask = 0b101010101010; aShort = (short)0b1010000101000101; long aLong = 0b1010000101000101101000010100010110100001010001011010000101000101L; • With underscores for clarity int mask = 0b1010_1010_1010;
    [Show full text]
  • Object-Oriented Programming in Javatm
    OBJECT-ORIENTED PROGRAMMING IN JAVATM Richard L. Halterman 2 March 2007 Draft © 2007 Richard L. Halterman. CC Some rights reserved. All the content of this document (including text, figures, and any other original works), unless otherwise noted, is licensed under a Creative Commons License. Attribution-NonCommercial-NoDerivs This document is free for non-commericial use with attribution and no derivatives. You are free to copy, distribute, and display this text under the following conditions: • BY: Attribution. You must attribute the work in the manner specified by the author or licensor. • $n Noncommercial. You may not use this work for commercial purposes. • = No Derivative Works. You may not alter, transform, or build upon this work. • For any reuse or distribution, you must make clear to others the license terms of this work. • Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. See http://www.creativecommons.org for more information. Java is a registered trademark of Sun Microsystems, Incorporated. DrJava Copyright © 2001-2003 was developed by the JavaPLT group at Rice University ([email protected]). Eclipse is an open-source project managed by the Eclipse Foundation (http://www.eclipse.org). 2 March 2007 Draft i Contents 1 The Context of Software Development 1 1.1 Software . .1 1.2 Development Tools . .2 1.3 The Java Development Environment . .5 1.4 The DrJava Development Environment . .9 1.5 Summary . 11 1.6 Exercises . 12 2 Values, Variables, and Types 14 2.1 Java Values in DrJava’s Interaction Pane .
    [Show full text]
  • Chapter 12 Simple Graphics Programming
    140 Chapter 12 Simple Graphics Programming Graphical applications are more appealing to users than text-based programs. When designed properly, graphical applications are more intuitive to use. From the developers perspective, graphical programs provide an ideal oppor- tunity to apply object-oriented programming concepts. Java provides a wealth of classes for building graphical user interfaces (GUIs). Because of the power and flexibility provided by these classes experienced developers can use them to create sophisticated graphical applications. On the other hand, also because of the power and flexibility of these graphical classes, writing even a simple graphics program can be daunting for those new to programming— especially those new to graphics programming. For those experienced in building GUIs, Java simplifies the process of developing good GUIs. Good GUIs are necessarily complex. Consider just two issues: • Graphical objects must be positioned in an attractive manner even when windows are resized or the application must run on both a PC (larger screen) and a PDA or cell phone (much smaller screen). Java graphical classes simplify the programmer’s job of laying out of screen elements within an application. • The user typically can provide input in several different ways: via mouse clicks, menu, dialog boxes, and keystrokes. The program often must be able to respond to input at any time, not at some predetermined place in the program’s execution. For example, when a statement calling nextInt() on a Scanner object (§ 8.3) is executed, the program halts and waits for the user’s input; however, in a graphical program the user may select any menu item at any time.
    [Show full text]
  • Visualizations in Vulnerability Management Marco Krebs
    Visualizations in Vulnerability Management Marco Krebs Technical Report RHUL–MA–2013– 8 01 May 2013 Information Security Group Royal Holloway, University of London Egham, Surrey TW20 0EX, United Kingdom www.ma.rhul.ac.uk/tech Title Visualizations in Vulnerability Management Version of this document 1.0 (released) Student Marco Krebs Student number 080401461 Date March 08, 2012 Supervisor William Rothwell Submitted as part of the requirements for the award of the MSc in Information Security of the University of London. ! Acknowledgements ACKNOWLEDGEMENTS! This is the place to express my thanks to all the people who have supported me over the last couple of months. However, I would like to single out a few names. For example, there is Marc Ruef with whom I touched base on the initial idea for this thesis during a lunch discussion. We share a similar experience on security testing and found out that we were both not fully satisfied with the way the results are provided to the client. Another thank you goes to Jan Monsch, the creator of DAVIX. He was able to draw my attention to the subject of visualization when we worked together as security analysts. Quite a few items of his personal library moved to my place for the duration of this thesis. I would also like to thank William Rothwell for becoming my project supervisor and for his ongoing support. He received the first status report in October last year and has been providing valuable feedback since. Few people have read the project report as many times as he did.
    [Show full text]
  • Y(X,E)=Y, *>»(*) + Vow'x + 0(Ear)' (1-7)
    Methods and Applications of Analysis © 1995 International Press 2 (2) 1995, pp. 212-221 ISSN 1073-2772 ASYMPTOTIC SOLUTION TO A CLASS OF SINGULARLY PERTURBED VOLTERRA INTEGRAL EQUATIONS L. A. Skinner ABSTRACT. A uniformly valid asymptotic expansion for the solution to a class of singularly perturbed Volterra integral equations displaying exponential boundary layer behavior is established. Certain quasilinear ordinary differential equations are a noted special case, and a model for population growth with attrition is briefly discussed. 1. Introduction Let /(a;, e) E C^QO, 1] x [0,1]) and k(x, t, e, y) 6 C^QO, 1] x [0, x] x [0,1] x [a, 6]), where (a, b) contains the derivative /e(0,0), and assume /(0,0) = 0. We are interested in the asymptotic behavior as e —> 0+ of the solution to the Volterra integral equation €y(x,e)+ / k(x,t,e,y(t,e))dt = f(x,e). (1.1) Jo The assumption /(0, 0) = 0, which implies y(0, e) = /e(0, 0) + O(e), is nontrivial unless (1.1) is linear. If kyy(x,t,e,y) = 0, we can get /(0,0) = 0 by changing the unknown (if necessary) to ey(x^e). In the special case k(x, t, 6, y) = p(t, e)y + (x - t)[q(t, e, y) - pt(t, e)]y, (1.2) f(x, e) = ae+ tfe + ap(0, e)]x, (1.3) equation (1.1) is equivalent to the singularly perturbed initial-value problem ey" + p(x, e)yl + q{x, c, y) = 0, (1.4) 2/(0) = a, y,(0) = p.
    [Show full text]
  • Bytecodes Meet Combinators
    ! Bytecodes Meet Combinators John Rose Architect, Da Vinci Machine Project Sun Microsystems VMIL 2009: 3rd Workshop on Virtual Machines and Intermediate Languages (OOPSLA, Orlando, Florida October 25, 2009) http://cr.openjdk.java.net/~jrose/pres/200910-BcsMeetCmbs.pdf 1 Overview • The JVM is useful for more languages than Java • Bytecodes have been successful so far, but are showing some “pain points” • Composable “function pointers” fill in a key gap 2 3 “Java is slow because it is interpreted” • Early implementations of the JVM executed bytecode with an interpreter [slow] 4 “Java is fast because it runs on a VM” • Major breakthrough was the advent of “Just In Time” compilers [fast] > Compile from bytecode to machine code at runtime > Optimize using information available at runtime only • Simplifies static compilers > javac and ecj generate “dumb” bytecode and trust the JVM to optimize > Optimization is real... ...even if it is invisible 5 HotSpot optimizations compiler tactics language-specific techniques loop transformations delayed compilation class hierarchy analysis loop unrolling tiered compilation devirtualization loop peeling on-stack replacement symbolic constant propagation safepoint elimination delayed reoptimization autobox elimination iteration range splitting program dependence graph representation escape analysis range check elimination static single assignment representation lock elision loop vectorization proof-based techniques lock fusion global code shaping exact type inference de-reflection inlining (graph integration)
    [Show full text]