Java Grande June 2 to 3 2001 Stanford ******************************** C++ KAI ======= Compilers C++ --> C Standards conformance Customer support Debugging Compilation speed Price Development environment Optimization SPEC is a waste of time small market optimizations (like complex numbers) ignored VLIW like Itanium will not get good performance on "mass market compilers" Templates: C++ based functional programming that runs at compile time unexpectedly powerful slow compilation only work within a "semicolon" C++ now beats Fortran Research directions domain specific F90 is dense arrays, complex numbers Domain optimizations compile time as well as run time Pre-processor C++ to C++ -- No good Plug-in Optimizer Program inspects itself at compile time Compile time meta-objects Global much harder than local optimization Need a compile time programming model **************** parallel programming Java a simpler backlash to C++ C# opposite lash! CCJ Collective Communication Java package -- Good work Thread groups not process groups good comparison with mpiJava -- Issues Algorithms RMI Serialization Only cluster not SMP Lawlor/Kale Object Arrays C++ F90 -- not Java "mature" system Charm++ support dynamic distributed objects home procesor holds forwarding address My Session Pugh: Address Java Memory Model Shoja: Change scheduling of Green Threads to support Real time multimedia Hudson: Clever Garbage Collector via copying while job running After Lunch van Reeuwijk: Scientific extensions (templates, multi dimensional arrays) Bacon: Lightweight classes Cappello: Internet Computing as execution of graphs overlap communication and computation Maloney Porting TAU (Performance Framework) to Java Using SciVis and mpiJava Bull Excellent Fortran C Java comparison Dublin Group Phenomenological analysis of bytecodes in a) different applications b) different compilers Chatterjee CFD #1: Java/Fortran is about 3 Ctran is C written like Fortran (Similarily Jtran) CFD #2: Irregular -- not much floating point Java Collections too slow Jackal DSM Good Amsterdam Roland Uses very efficient RMI -- Manta Yukiho Sohda Good DSM is natural for Java JDSM pure Java -- use existing good conpilers Fabian Breg Survey of Previous Work including Michael's Bit naive? Bad matrix multiplication analysis Cappello to Program Committee *********************************************** Group is a topic in JXTA? ***** HLA Internet Task Force -- has some higher level server effort Parabon *************************************************** Rendering If small data Sequence Analysis BLAST database growing faster than Moore's Law Send part of database -- as compute proportional to N**2 communication like N. Choose Optimal N Protein Folding Need ensemble Takes 2 weeks to fold a small protein Regression -- exhaustive search Canary Tasks Check if provider is returning wrong answer or lying about time taken (dollars proportional to this) 30 day test drive is free Parallel Computing Problem is unreliability not latency Dennis: use JXTA as a local peer group to Reynders -- transactional message passing to replace MPI as ASCI machines too big to be reliable See PPT for Forum Meeting Numerical Working Group Joe Darcy much less optimistic than Reynders Generics have taken several years and no opposition Operator Overloading and value classes have opposition support by SunLabs insufficient! Jose Moreira has preprocessor Some interest in [[]] notation need 0 dimensional multiarrays Expenses $2.50 parking Personal Car 2 Avis 1 air JG Registration Hotel 9.30 am thursday to Monday 3pm