SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
JVM goes BigData

srisatish.ambati AT gmail.com
DataStax/OpenJDK
4/12/2011
@srisatish
Motivation
•   A compendium of 
    recent jvm scale 
    issues while working 
    with big data.
•   This talk will not have 
    details on big data.
•   Thanks Sasa!
Trail Ahead

synchronized
Non­blocking Hashmap
    ­ A state transition view
Collections
Serialization
UUID
Garbage Collection
    ­ The free parameters!
    ­ Generations, Promotion, Fragmentation
    ­ Offheap
Questions & asynchronous IO
tools of trade

  • What the JVM is doing:
    – dtrace, hprof, introscope, jconsole, visualvm, yourkit, 
      gchisto, zvision
  • Invasive JVM observation tools:
    – bci, jvmti, jvmdi/pi agents, logging
  • What the OS is doing:
    – dtrace, oprofile, vtune, perf
  • What the network/disk is doing:
    – ganglia, iostat, lsof, nagios, netstat, tcpdump
synchronized

under the hood
  –   Fast path for no­contention thin lock
  –   Bias threads to lock or bulk revoke bias
  –   Store free biasing
JMM: 
happens­before, causality
Partial order
volatile
Piggybacking
FutureTask
BlockingQueue
jsr133
* Java Concurrency in Practice, Brian Goetz
java.util.concurrent also holds locks!
Tomcat under concurrent load!
Non­blocking collections: 
               Amdahl's > Moore's!
State, Actions – key/value pairs!
 
  get, put, delete, _resize
ByteArray to hold Data
Concurrent writes: using CAS
     No locks, no volatile
     Much faster than locking under heavy load
     Directly reach main data array in 1 step

Resize as needed
   Copy Array to a larger Array on demand. Post updates
Death & Taxes: Java Overheads!

 • Cost of an 8­char String?
     8b      12b          4b
     hdr     fields       ptr
                                                    A: 56 bytes, or a 7x blowup

                                    8b        4b         16b         4b
                                    hdr       len        data        pad

 • Cost of 100­entry TreeMap<Double,Double> ?
                            48b
                          TreeMap


                             40b
                        TreeMap$Entry


                16b                        16b       A: 7248 bytes or a ~5x blowup
               Double                     Double
yourkit: memory profile
Which collection: Mozart or Bach?

Concurrency:
   Non­blocking HashMap
  Google Collections

Overheads
  Watch out for per­element costs!
  Primitives can be hard to manage!

Sparse collections
   Average collection size in enterprise is ~3
serializable
 

     
       java.io.Serializable is S.L..O.…W
     True to platform
     
       Use “transient”
     
       ObjectSerialField[]
     
       Avro
     
       Google Protocol Buffers, 
     
       Externalizable + byte[]
     
       Roll your own
ser+deser 
smaller is better




      https://github.com/eishay/jvm­serializers.git
avro
• Schema
   – No per datum overheads
   – Optional code gen
• Types are runtime
• Untagged data
• No manually­assigned field Ids
Cons:
• Schema mismatches
• Runtime only checks
google­proto­buffer
• Define message format 
  in .proto file
• All data in key/value pairs
• Generate sources
• .builder for each class 
  with getter/setter
thrift
• Type, Transport, Protocol, 
  Version, Processors
• Separation of structure from 
  protocol & transport
• TCompactProtocol, etc
   – tag/data, compression
• TSocket, TfileTransport, etc
• colocated clients & servers
UUID
java.util.UUID is slow
   ●
         dominated by sha_transform costs
   ●
        Leach­salz (128­bit) 
Turns out that default PRNG (via SecureRandom)
Uses /dev/urandom for seed initialization
          ­Djava.security.egd=file:/dev/urandom
      ●
        PRNG without file is atleast 20%­40% better.
Use TimeUUIDs where possible – much faster
   Alternatives: JUG – java.uuid.generator, com.eaio.uuid
    ~10x faster

http://github.com/cowtowncoder/java­uuid­generator 
http://jug.safehaus.org/ 
http://johannburkard.de/blog/programming/java/Java­UUID­generators­compared.htm
Leach­salz UUID
    /**
          * Returns a {@code String} object representing this {@code UUID}.
          *
          * <p> The UUID string representation is as described by this BNF:
          * <blockquote><pre>
          * {@code
          * UUID                     = <time_low> "-" <time_mid> "-"
          *                              <time_high_and_version> "-"
          *                              <variant_and_sequence> "-"
          *                              <node>
          * time_low                 = 4*<hexOctet>
          * time_mid                 = 2*<hexOctet>
          * time_high_and_version    = 2*<hexOctet>
          * variant_and_sequence     = 2*<hexOctet>
          * node                     = 6*<hexOctet>
          * hexOctet                 = <hexDigit><hexDigit>
          * hexDigit                 =
          *          "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
          *          | "a" | "b" | "c" | "d" | "e" | "f"
          *          | "A" | "B" | "C" | "D" | "E" | "F"
          * }</pre></blockquote>
          *
          * @return    A string representation of this {@code UUID}
          */
      public String toString() {
               return (digits(mostSigBits >> 32, 8) + "-" +
                       digits(mostSigBits >> 16, 4) + "-" +
                       digits(mostSigBits, 4) + "-" +
                       digits(leastSigBits >> 48, 4) + "-" +
                       digits(leastSigBits, 12));

          }
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
   PerfTop:    1485 irqs/sec  kernel:18.6%  exact:  0.0% [1000Hz cycles],  (all, 8 CPUs)
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

             samples  pcnt function                                                         DSO
             _______ _____ ________________________________________________________________ 

             1882.00 26.3% intel_idle                                                       [kernel.kallsyms]         
             1678.00 23.5% os::javaTimeMillis()                                   libjvm.so                 
              382.00  5.3% SpinPause                                                        libjvm.so                 
              335.00  4.7% Timer::ImplTimerCallbackProc()                   libvcllx.so               
              291.00  4.1% gettimeofday                                                     /lib/libc­2.12.1.so       
              268.00  3.7% hpet_next_event                                              [kernel.kallsyms]         
              254.00  3.6% ParallelTaskTerminator::offer_termination(TerminatorTerminator*) libjvm.so          
       
              
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
    PerfTop:    1656 irqs/sec  kernel:59.5%  exact:  0.0% [1000Hz cycles],  (all, 8 CPUs)
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

             samples  pcnt function                                                         DSO
             _______ _____ ________________________________________________________________
            6980.00 38.5% sha_transform                                                            [kernel.kallsyms]
             2119.00 11.7% intel_idle                                                                      [kernel.kallsyms]
             1382.00  7.6% mix_pool_bytes_extract                                                [kernel.kallsyms]   
              437.00  2.4% i8042_interrupt                                                               [kernel.kallsyms]
              416.00  2.3% hpet_next_event                                                             [kernel.kallsyms]
              390.00  2.2% extract_buf                                                                     [kernel.kallsyms]
              376.00  2.1% ThreadInVMfromNative::~ThreadInVMfromNative()  libjvm.so        
              321.00  1.8% T.3542                                                                            libjvm.so        
              298.00  1.6% __ticket_spin_lock                                                         [kernel.kallsyms]
              296.00  1.6% Timer::ImplTimerCallbackProc()                                  libvcllx.so      
              255.00  1.4% Unsafe_GetInt                                                                libjvm.so
 

              
summary
TimebasedUUIDs vs. UUIDs
use ~4 times less kernel time on creation!
No SHA library calls!
optimized toString()
Much faster than standard java.util.UUID
­ Better Instructions per clocks as well. 
If on EC2: 
Watch out for non­cacheable file access to /dev/urandom!  
String theory of Java!

byte[] vs. char[]
If ver > jdk16u21 try ­XX:+UseCompressedStrings
Append performance (gc) differs:
 Strings vs. StringBuffers
com.google.common.base.Joiner
          •   Join text for cheap, 
          •   skipNulls or useForNulls()
com.google.common.base.Splitter 
“Null References: A billion dollar mistake”
                                                        ­ C.A.R Hoare



“I call it my billion­dollar mistake. It was the invention of the null reference in 1965. 
At that time, I was designing the first comprehensive type system for references in an object oriented language 
(ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking 
performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply 
because it was so easy to implement.  This has led to innumerable errors, vulnerabilities, and system crashes, 
which have probably caused a billion dollars of pain and damage in the last forty years.” ­ qconlondon, '09
Best Practices:
 Garbage Collection
verbose:gc

GC Logs are cheap even in 
 production
          ­Xloggc:gc.log 
          ­XX:+PrintGCDetails 
          ­XX:+PrintGCTimeStamps ­XX:+PrintTenuringDistribution 

A bit expensive/obscure ones:
          ­XX:PrintFLSStatistics=2 ­XX:CMSStatistics=1
          ­XX:CMSInitiationStatistics ­XX:+PrintFLSCensus
Three free parameters
 Allocation Rate: your workload!

Size: defines runway!
      Live Set, memory
Pause times: 
      Stoppages!
Four free parameters
 Allocation Rate: your application load!

Size: defines runway!
      Live Set, system memory
Pause times: 
      Stoppages!
 

(fourth: Overheads of GC – Space & CPU.)
Part I: Sizing
to be ­Xmx == ­Xms or not?
Young generation:
Use ­Xmn for predictable performance

                       new Object()
                                                  survivor ratio
          eden
                                survivor spaces
                    promotion                       Tenuring
                                                    Threshold
          old gen                            jvm allocates 
Part II: Pick a collector!
Serial GC – Serial new + Serial Old
Parallel GC (default) Parallel Scavenge + Serial Old
UseParallelOldGC : Parallel Scavenge + Parallel Old
UseConcurrentMarkSweep: ParNew, CMS Old, Serial Old
G1/Experimental
Reading GC logs – a topic/tool

Full GC is STW
Initial Mark, Rescan/WeakRef/Remark  are STW
Look for promotion failures
Look for concurrent mode failures
... 
995.330: [CMS­concurrent­mark: 0.952/1.102 secs] [Times: user=3.69 sys=0.54, real=1.10 
secs] 
995.330: [CMS­concurrent­preclean­start]
995.618: [CMS­concurrent­preclean: 0.279/0.287 secs] [Times: user=0.90 sys=0.20, 
real=0.29 secs] 
995.618: [CMS­concurrent­abortable­preclean­start]
995.695: [GC 995.695: [ParNew (promotion failed)
Desired survivor size 41943040 bytes, new threshold 1 (max 1)
­ age   1:   29826872 bytes,   29826872 total
: 720596K­>703760K(737280K), 0.4710410 secs]996.166: [CMS996.317: [CMS­
concurrent­abortable­preclean: 0.218/0.699 secs] [Times: user=1.39 sys=0.10, real=0.70 
secs] 
 (concurrent mode failure): 4100132K­>784070K(5341184K), 4.7478300 secs] 4780154K­
>784070K(6078464K), [CMS Perm : 17033K­>17014K(28400K)], 5.2191410 secs] 
[Times: user=5.70 sys=0.01, real=5.22 secs]
...
Tuning CMS
Don’t promote too often!
     Frequent promotion causes fragmentation
     (avoid never tenure) TenuringThreshold
Size the generations
     Min GC times are a function of Live Set
     Old Gen should host steady state comfortably
Avoid CMS Initiating heuristic
         ­XX:+UseCMSInitiationOccupanyOnly
Use Concurrent for System.gc()
         ­XX:+ExplicitGCInvokesConcurrent
GC Threads
Parallelize on multicores  
         ­XX:ParallelGCThreads=4
        (default: derived from # of cpus on system) 
               *8 + (n­5)/8
         ­XX:ParallelCMSThreads=4 
        (default: derived from # of parallelgcthreads)


Strategy A: 
       Tune min gcs & let appl data in eden
 
Did someone ask about defaults?
 if (FLAG_IS_DEFAULT(ParallelGCThreads)) {
    assert(ParallelGCThreads == 0, "Default ParallelGCThreads is not 0");
    // For very large machines, there are diminishing returns
    // for large numbers of worker threads.  Instead of
    // hogging the whole system, use a fraction of the workers for every
    // processor after the first 8.  For example, on a 72 cpu machine
    // and a chosen fraction of 5/8
    // use 8 + (72 ­ 8) * (5/8) == 48 worker threads.
    unsigned int ncpus = (unsigned int) os::active_processor_count();
    return (ncpus <= switch_pt) ?
           ncpus :
          (switch_pt + ((ncpus ­ switch_pt) * num) / den);
  } else {
    return ParallelGCThreads;
  }
Fragmentation
Performance degrades over time
Inducing “Full GC” makes problem go away
Free memory that cannot be used
    Round off errors
Reduce occurrence
Use a compacting collector
Promote less often
Use uniform sized objects
 
Not enough large contiguous space for 
 promotion
Small objects still can fit in the holes!
Compaction – stop the world.
Unsolved on Oracle/Sun Hotspot 
Azul Systems Pauseless JVM.
JRockit Mission Control
Example

Application suddenly 
 transitions to back­
 to­back full gcs.
Cannot use free mem 
 – too many holes!
Tools
•   GCHisto
•   jconsole
•   VisualVM/VisualGC
•   Logs
•   Thread dumps
•   yourkit memory profile, snapshots
GCSpy
Gone 0xff the heap !!
ByteBuffer.allocateDirect(16 * 1024 * 1024)
Also can be mapped memory of a file region
Store long­lived objects outside jvm 
Managed by native i/o ops.
JNA: dynamically load & call native libraries 
   without compile time decl like JNI
Works for limited use cases in the lab.
          Ex: Terracotta, Hbase, Cassandra
Gone 0xff the heap ?
Issues to consider:
No clear api to de­allocate from this region 
  ●
    See jbellis patch to JNA­179 for FreeableBuffer
Object cleanup relegated to finalization
 Single finalizer thread, Bug ID: 4469299
Behind WeakReference processing in jdk16u21

Workaround:
­XX:MaxDirectMemorySize=<size> 
Manually Trigger System.gc() to avoid “leak” 
Virtually there! 
Ballooning driver for Memory: Disable it!
Time (TSC) issue! It's relative!
Scheduling when # of threads > # of vcpus..
          Tickless _nohz kernel
GC Thread starvation = STW pauses
large ec2 instances are not all equal..
DirectPathIO & vt­d, rvi – Watch out for Sockets!
Tools: Performance counters still not virtualized!
summary

•   JVM is still the most popular platform for 
    deployment for the new languages!
•   JVM heartburn around scale!
     –   Serialization
     –   UUID
     –   Object overhead
     –   Garbage Collection
     –   Hypervisor
References


Chris Wimmer, http://wikis.sun.com/display/HotSpotInternals/Synchronization
Russel & Detlefs http://www.oracle.com/technetwork/java/biasedlocking­oopsla2006­wp­149958.pdf
Google Protocol Buffers http://code.google.com/p/protobuf
Thrift http://incubator.apache.org/thrift/static/thrift­20070401.pdf
Leach­Salz Variant of UUID http://www.upnp.org/resources/draft­leach­uuids­guids­00.txt
Hans Boehm, http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html
Brian Goetz, JSR­133 http://www.ibm.com/developerworks/java/library/j­jtp03304/
GCSpy http://www.cs.kent.ac.uk/projects/gc/gcspy/
Understanding GC logs http://blogs.sun.com/poonam/entry/understanding_cms_gc_logs
Cliff Click's http://sourceforge.net/projects/high­scale­lib/

Contenu connexe

Tendances

Windows 10 Nt Heap Exploitation (Chinese version)
Windows 10 Nt Heap Exploitation (Chinese version)Windows 10 Nt Heap Exploitation (Chinese version)
Windows 10 Nt Heap Exploitation (Chinese version)Angel Boy
 
JavaOne 2012 - JVM JIT for Dummies
JavaOne 2012 - JVM JIT for DummiesJavaOne 2012 - JVM JIT for Dummies
JavaOne 2012 - JVM JIT for DummiesCharles Nutter
 
ToroDB: scaling PostgreSQL like MongoDB / Álvaro Hernández Tortosa (8Kdata)
ToroDB: scaling PostgreSQL like MongoDB / Álvaro Hernández Tortosa (8Kdata)ToroDB: scaling PostgreSQL like MongoDB / Álvaro Hernández Tortosa (8Kdata)
ToroDB: scaling PostgreSQL like MongoDB / Álvaro Hernández Tortosa (8Kdata)Ontico
 
Новый InterSystems: open-source, митапы, хакатоны
Новый InterSystems: open-source, митапы, хакатоныНовый InterSystems: open-source, митапы, хакатоны
Новый InterSystems: open-source, митапы, хакатоныTimur Safin
 
Hearthstone: an analysis of game network protocols - Marco Cuciniello, Andrea...
Hearthstone: an analysis of game network protocols - Marco Cuciniello, Andrea...Hearthstone: an analysis of game network protocols - Marco Cuciniello, Andrea...
Hearthstone: an analysis of game network protocols - Marco Cuciniello, Andrea...Codemotion
 
Leveraging Hadoop for Legacy Systems
Leveraging Hadoop for Legacy SystemsLeveraging Hadoop for Legacy Systems
Leveraging Hadoop for Legacy SystemsMathias Herberts
 
MongoDB 在盛大大数据量下的应用
MongoDB 在盛大大数据量下的应用MongoDB 在盛大大数据量下的应用
MongoDB 在盛大大数据量下的应用iammutex
 
Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03
Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03
Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03Mathias Herberts
 
Redis modules 101
Redis modules 101Redis modules 101
Redis modules 101Dvir Volk
 
Java Persistence Frameworks for MongoDB
Java Persistence Frameworks for MongoDBJava Persistence Frameworks for MongoDB
Java Persistence Frameworks for MongoDBMongoDB
 
Parsing JSON Really Quickly: Lessons Learned
Parsing JSON Really Quickly: Lessons LearnedParsing JSON Really Quickly: Lessons Learned
Parsing JSON Really Quickly: Lessons LearnedDaniel Lemire
 
Windows 10 Nt Heap Exploitation (English version)
Windows 10 Nt Heap Exploitation (English version)Windows 10 Nt Heap Exploitation (English version)
Windows 10 Nt Heap Exploitation (English version)Angel Boy
 
The Art of JVM Profiling
The Art of JVM ProfilingThe Art of JVM Profiling
The Art of JVM ProfilingAndrei Pangin
 
Centralized + Unified Logging
Centralized + Unified LoggingCentralized + Unified Logging
Centralized + Unified LoggingGabor Kozma
 
Distributed systems at ok.ru #rigadevday
Distributed systems at ok.ru #rigadevdayDistributed systems at ok.ru #rigadevday
Distributed systems at ok.ru #rigadevdayodnoklassniki.ru
 
MongoDB: Easy Java Persistence with Morphia
MongoDB: Easy Java Persistence with MorphiaMongoDB: Easy Java Persistence with Morphia
MongoDB: Easy Java Persistence with MorphiaScott Hernandez
 
Using Python3 to Build a Cloud Computing Service for my Superboard II
Using Python3 to Build a Cloud Computing Service for my Superboard IIUsing Python3 to Build a Cloud Computing Service for my Superboard II
Using Python3 to Build a Cloud Computing Service for my Superboard IIDavid Beazley (Dabeaz LLC)
 

Tendances (20)

Windows 10 Nt Heap Exploitation (Chinese version)
Windows 10 Nt Heap Exploitation (Chinese version)Windows 10 Nt Heap Exploitation (Chinese version)
Windows 10 Nt Heap Exploitation (Chinese version)
 
JavaOne 2012 - JVM JIT for Dummies
JavaOne 2012 - JVM JIT for DummiesJavaOne 2012 - JVM JIT for Dummies
JavaOne 2012 - JVM JIT for Dummies
 
Why learn Internals?
Why learn Internals?Why learn Internals?
Why learn Internals?
 
ToroDB: scaling PostgreSQL like MongoDB / Álvaro Hernández Tortosa (8Kdata)
ToroDB: scaling PostgreSQL like MongoDB / Álvaro Hernández Tortosa (8Kdata)ToroDB: scaling PostgreSQL like MongoDB / Álvaro Hernández Tortosa (8Kdata)
ToroDB: scaling PostgreSQL like MongoDB / Álvaro Hernández Tortosa (8Kdata)
 
Hack ASP.NET website
Hack ASP.NET websiteHack ASP.NET website
Hack ASP.NET website
 
Новый InterSystems: open-source, митапы, хакатоны
Новый InterSystems: open-source, митапы, хакатоныНовый InterSystems: open-source, митапы, хакатоны
Новый InterSystems: open-source, митапы, хакатоны
 
Hearthstone: an analysis of game network protocols - Marco Cuciniello, Andrea...
Hearthstone: an analysis of game network protocols - Marco Cuciniello, Andrea...Hearthstone: an analysis of game network protocols - Marco Cuciniello, Andrea...
Hearthstone: an analysis of game network protocols - Marco Cuciniello, Andrea...
 
Leveraging Hadoop for Legacy Systems
Leveraging Hadoop for Legacy SystemsLeveraging Hadoop for Legacy Systems
Leveraging Hadoop for Legacy Systems
 
MongoDB 在盛大大数据量下的应用
MongoDB 在盛大大数据量下的应用MongoDB 在盛大大数据量下的应用
MongoDB 在盛大大数据量下的应用
 
Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03
Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03
Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03
 
Redis modules 101
Redis modules 101Redis modules 101
Redis modules 101
 
Java Persistence Frameworks for MongoDB
Java Persistence Frameworks for MongoDBJava Persistence Frameworks for MongoDB
Java Persistence Frameworks for MongoDB
 
Parsing JSON Really Quickly: Lessons Learned
Parsing JSON Really Quickly: Lessons LearnedParsing JSON Really Quickly: Lessons Learned
Parsing JSON Really Quickly: Lessons Learned
 
Windows 10 Nt Heap Exploitation (English version)
Windows 10 Nt Heap Exploitation (English version)Windows 10 Nt Heap Exploitation (English version)
Windows 10 Nt Heap Exploitation (English version)
 
Kernel Pool
Kernel PoolKernel Pool
Kernel Pool
 
The Art of JVM Profiling
The Art of JVM ProfilingThe Art of JVM Profiling
The Art of JVM Profiling
 
Centralized + Unified Logging
Centralized + Unified LoggingCentralized + Unified Logging
Centralized + Unified Logging
 
Distributed systems at ok.ru #rigadevday
Distributed systems at ok.ru #rigadevdayDistributed systems at ok.ru #rigadevday
Distributed systems at ok.ru #rigadevday
 
MongoDB: Easy Java Persistence with Morphia
MongoDB: Easy Java Persistence with MorphiaMongoDB: Easy Java Persistence with Morphia
MongoDB: Easy Java Persistence with Morphia
 
Using Python3 to Build a Cloud Computing Service for my Superboard II
Using Python3 to Build a Cloud Computing Service for my Superboard IIUsing Python3 to Build a Cloud Computing Service for my Superboard II
Using Python3 to Build a Cloud Computing Service for my Superboard II
 

Similaire à Jvm goes big_data_sfjava

Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?Felix Geisendörfer
 
Sergi Álvarez + Roi Martín - radare2: From forensics to bindiffing [RootedCON...
Sergi Álvarez + Roi Martín - radare2: From forensics to bindiffing [RootedCON...Sergi Álvarez + Roi Martín - radare2: From forensics to bindiffing [RootedCON...
Sergi Álvarez + Roi Martín - radare2: From forensics to bindiffing [RootedCON...RootedCON
 
Exploiting GPU's for Columnar DataFrrames by Kiran Lonikar
Exploiting GPU's for Columnar DataFrrames by Kiran LonikarExploiting GPU's for Columnar DataFrrames by Kiran Lonikar
Exploiting GPU's for Columnar DataFrrames by Kiran LonikarSpark Summit
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDPlcplcp1
 
Vert.x v3 - high performance polyglot application toolkit
Vert.x v3 - high performance  polyglot application toolkitVert.x v3 - high performance  polyglot application toolkit
Vert.x v3 - high performance polyglot application toolkitSages
 
Modern Linux Tracing Landscape
Modern Linux Tracing LandscapeModern Linux Tracing Landscape
Modern Linux Tracing LandscapeSasha Goldshtein
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility bufferWolfgang Engel
 
Perl at SkyCon'12
Perl at SkyCon'12Perl at SkyCon'12
Perl at SkyCon'12Tim Bunce
 
Node Boot Camp
Node Boot CampNode Boot Camp
Node Boot CampTroy Miles
 
Zn task - defcon russia 20
Zn task  - defcon russia 20Zn task  - defcon russia 20
Zn task - defcon russia 20DefconRussia
 
How to use Parquet as a basis for ETL and analytics
How to use Parquet as a basis for ETL and analyticsHow to use Parquet as a basis for ETL and analytics
How to use Parquet as a basis for ETL and analyticsJulien Le Dem
 
Skydive, real-time network analyzer, container integration
Skydive, real-time network analyzer, container integrationSkydive, real-time network analyzer, container integration
Skydive, real-time network analyzer, container integrationSylvain Afchain
 
100 bugs in Open Source C/C++ projects
100 bugs in Open Source C/C++ projects 100 bugs in Open Source C/C++ projects
100 bugs in Open Source C/C++ projects Andrey Karpov
 
Riak add presentation
Riak add presentationRiak add presentation
Riak add presentationIlya Bogunov
 

Similaire à Jvm goes big_data_sfjava (20)

jvm goes to big data
jvm goes to big datajvm goes to big data
jvm goes to big data
 
Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?
 
Sergi Álvarez + Roi Martín - radare2: From forensics to bindiffing [RootedCON...
Sergi Álvarez + Roi Martín - radare2: From forensics to bindiffing [RootedCON...Sergi Álvarez + Roi Martín - radare2: From forensics to bindiffing [RootedCON...
Sergi Álvarez + Roi Martín - radare2: From forensics to bindiffing [RootedCON...
 
Exploiting GPU's for Columnar DataFrrames by Kiran Lonikar
Exploiting GPU's for Columnar DataFrrames by Kiran LonikarExploiting GPU's for Columnar DataFrrames by Kiran Lonikar
Exploiting GPU's for Columnar DataFrrames by Kiran Lonikar
 
Nodejs - A quick tour (v6)
Nodejs - A quick tour (v6)Nodejs - A quick tour (v6)
Nodejs - A quick tour (v6)
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDP
 
Vert.x v3 - high performance polyglot application toolkit
Vert.x v3 - high performance  polyglot application toolkitVert.x v3 - high performance  polyglot application toolkit
Vert.x v3 - high performance polyglot application toolkit
 
Modern Linux Tracing Landscape
Modern Linux Tracing LandscapeModern Linux Tracing Landscape
Modern Linux Tracing Landscape
 
Lec05
Lec05Lec05
Lec05
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
 
Perl at SkyCon'12
Perl at SkyCon'12Perl at SkyCon'12
Perl at SkyCon'12
 
Node Boot Camp
Node Boot CampNode Boot Camp
Node Boot Camp
 
Zn task - defcon russia 20
Zn task  - defcon russia 20Zn task  - defcon russia 20
Zn task - defcon russia 20
 
Scope Stack Allocation
Scope Stack AllocationScope Stack Allocation
Scope Stack Allocation
 
How to use Parquet as a basis for ETL and analytics
How to use Parquet as a basis for ETL and analyticsHow to use Parquet as a basis for ETL and analytics
How to use Parquet as a basis for ETL and analytics
 
Fedor Polyakov - Optimizing computer vision problems on mobile platforms
Fedor Polyakov - Optimizing computer vision problems on mobile platforms Fedor Polyakov - Optimizing computer vision problems on mobile platforms
Fedor Polyakov - Optimizing computer vision problems on mobile platforms
 
Skydive, real-time network analyzer, container integration
Skydive, real-time network analyzer, container integrationSkydive, real-time network analyzer, container integration
Skydive, real-time network analyzer, container integration
 
Skydive 5/07/2016
Skydive 5/07/2016Skydive 5/07/2016
Skydive 5/07/2016
 
100 bugs in Open Source C/C++ projects
100 bugs in Open Source C/C++ projects 100 bugs in Open Source C/C++ projects
100 bugs in Open Source C/C++ projects
 
Riak add presentation
Riak add presentationRiak add presentation
Riak add presentation
 

Plus de srisatish ambati

H2O Open Dallas 2016 keynote for Business Transformation
H2O Open Dallas 2016 keynote for Business TransformationH2O Open Dallas 2016 keynote for Business Transformation
H2O Open Dallas 2016 keynote for Business Transformationsrisatish ambati
 
Digital Transformation with AI and Data - H2O.ai and Open Source
Digital Transformation with AI and Data - H2O.ai and Open SourceDigital Transformation with AI and Data - H2O.ai and Open Source
Digital Transformation with AI and Data - H2O.ai and Open Sourcesrisatish ambati
 
Top 10 Performance Gotchas for scaling in-memory Algorithms.
Top 10 Performance Gotchas for scaling in-memory Algorithms.Top 10 Performance Gotchas for scaling in-memory Algorithms.
Top 10 Performance Gotchas for scaling in-memory Algorithms.srisatish ambati
 
Java one2011 brisk-and_high_order_bits_from_cassandra_and_hadoop
Java one2011 brisk-and_high_order_bits_from_cassandra_and_hadoopJava one2011 brisk-and_high_order_bits_from_cassandra_and_hadoop
Java one2011 brisk-and_high_order_bits_from_cassandra_and_hadoopsrisatish ambati
 
High order bits from cassandra & hadoop
High order bits from cassandra & hadoopHigh order bits from cassandra & hadoop
High order bits from cassandra & hadoopsrisatish ambati
 
High order bits from cassandra & hadoop
High order bits from cassandra & hadoopHigh order bits from cassandra & hadoop
High order bits from cassandra & hadoopsrisatish ambati
 
Brisk hadoop june2011_sfjava
Brisk hadoop june2011_sfjavaBrisk hadoop june2011_sfjava
Brisk hadoop june2011_sfjavasrisatish ambati
 
Cacheconcurrencyconsistency cassandra svcc
Cacheconcurrencyconsistency cassandra svccCacheconcurrencyconsistency cassandra svcc
Cacheconcurrencyconsistency cassandra svccsrisatish ambati
 
Svccg nosql 2011_sri-cassandra
Svccg nosql 2011_sri-cassandraSvccg nosql 2011_sri-cassandra
Svccg nosql 2011_sri-cassandrasrisatish ambati
 
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...srisatish ambati
 
How to Stop Worrying and Start Caching in Java
How to Stop Worrying and Start Caching in JavaHow to Stop Worrying and Start Caching in Java
How to Stop Worrying and Start Caching in Javasrisatish ambati
 
JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...
JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...
JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...srisatish ambati
 
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)srisatish ambati
 

Plus de srisatish ambati (15)

H2O Open Dallas 2016 keynote for Business Transformation
H2O Open Dallas 2016 keynote for Business TransformationH2O Open Dallas 2016 keynote for Business Transformation
H2O Open Dallas 2016 keynote for Business Transformation
 
Digital Transformation with AI and Data - H2O.ai and Open Source
Digital Transformation with AI and Data - H2O.ai and Open SourceDigital Transformation with AI and Data - H2O.ai and Open Source
Digital Transformation with AI and Data - H2O.ai and Open Source
 
Top 10 Performance Gotchas for scaling in-memory Algorithms.
Top 10 Performance Gotchas for scaling in-memory Algorithms.Top 10 Performance Gotchas for scaling in-memory Algorithms.
Top 10 Performance Gotchas for scaling in-memory Algorithms.
 
Java one2011 brisk-and_high_order_bits_from_cassandra_and_hadoop
Java one2011 brisk-and_high_order_bits_from_cassandra_and_hadoopJava one2011 brisk-and_high_order_bits_from_cassandra_and_hadoop
Java one2011 brisk-and_high_order_bits_from_cassandra_and_hadoop
 
High order bits from cassandra & hadoop
High order bits from cassandra & hadoopHigh order bits from cassandra & hadoop
High order bits from cassandra & hadoop
 
High order bits from cassandra & hadoop
High order bits from cassandra & hadoopHigh order bits from cassandra & hadoop
High order bits from cassandra & hadoop
 
Cassandra at no_sql
Cassandra at no_sqlCassandra at no_sql
Cassandra at no_sql
 
Brisk hadoop june2011_sfjava
Brisk hadoop june2011_sfjavaBrisk hadoop june2011_sfjava
Brisk hadoop june2011_sfjava
 
Brisk hadoop june2011
Brisk hadoop june2011Brisk hadoop june2011
Brisk hadoop june2011
 
Cacheconcurrencyconsistency cassandra svcc
Cacheconcurrencyconsistency cassandra svccCacheconcurrencyconsistency cassandra svcc
Cacheconcurrencyconsistency cassandra svcc
 
Svccg nosql 2011_sri-cassandra
Svccg nosql 2011_sri-cassandraSvccg nosql 2011_sri-cassandra
Svccg nosql 2011_sri-cassandra
 
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
 
How to Stop Worrying and Start Caching in Java
How to Stop Worrying and Start Caching in JavaHow to Stop Worrying and Start Caching in Java
How to Stop Worrying and Start Caching in Java
 
JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...
JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...
JavaOne 2010: Top 10 Causes for Java Issues in Production and What to Do When...
 
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)
 

Dernier

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 

Dernier (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 

Jvm goes big_data_sfjava