Ruby on Redis. Pascal Weemaels Koen Handekyn Oct 2013
|
|
- Opal Fisher
- 6 years ago
- Views:
Transcription
1 Ruby on Redis Pascal Weemaels Koen Handekyn Oct 2013
2 Target Create a Zip file of PDF s parse csv based on a CSV data file Linear version Making it scale with Redis... zip
3 Step 1: linear Parse CSV std lib : require csv docs = CSV.read("#{DATA}.csv")
4 Simple Templating with String Interpolation invoice.html <<Q <div class="title"> INVOICE #{invoice_nr} </div> <div class="address"> #{name}</br> #{street}</br> Merge data into HTML template = File.new('invoice.html'). read html = eval("<<qqq\n#{template} \nqqq ) #{zip} #{city}</br> </div> Q
5 Step 1: linear Create PDF prince xml using princely gem p = Princely.new p.add_style_sheets('invoice.css') p.pdf_from_string(html)
6 Step 1: linear Create ZIP Zip::ZipOutputstream. open(zipfile_name)do zos files.each do file, content zos.new_entry(file) zos.puts content end end
7 require 'csv' require 'princely' require 'zip/zip DATA_FILE = ARGV[0] DATA_FILE_BASE_NAME = File.basename(DATA_FILE, ".csv ) # create a pdf document from a csv line def create_pdf(invoice_nr, name, street, zip, city) template = File.new('../resources/invoice.html').read html = eval("<<wtfmf\n#{template}\nwtfmf") p = Princely.new p.add_style_sheets('../resources/invoice.css') p.pdf_from_string(html) end # zip files from hash def create_zip(files_h) zipfile_name = "../out/#{data_file_base_name}.#{time.now.to_s}.zip" Zip::ZipOutputStream.open(zipfile_name) do zos files_h.each do name, content zos.put_next_entry "#{name}.pdf" zos.puts content end end zipfile_name end # load data from csv docs = CSV.read(DATA_FILE) # array of arrays # create a pdf for each line in the csv # and put it in a hash files_h = docs.inject({}) do files_h, doc files_h[doc[0]] = create_pdf(*doc) files_h end # zip all pfd's from the hash create_zip files_h Full Code
8 DEMO
9 Step 2: from linear... parse csv... zip
10 Step 2:...to parallel parse csv Threads? zip
11 Multi Threaded Advantage Lightweight (minimal overhead) Challenges (or why is it hard) Hard to code: most data structures are not thread safe by default, they need synchronized access Hard to test: different execution paths, timings Hard to maintain Limitation single machine - not a solution for horizontal scalability beyond the multi core cpu
12 Step 2:...to parallel parse csv? zip
13 Multi Process scale across machines advanced support for debugging and monitoring at the OS level simpler (code, testing, debugging,...) slightly more overhead BUT
14 But MemCached all this assumes shared state across processes parse csv SQL? shared state shared state File System zip Terra Cotta OR
15 Hello Redis Shared Memory Key Value Store with High Level Data Structure support String (String, Int, Float) Hash (Map, Dictionary) List (Queue) Set ZSet (ordered by member or score)
16 About Redis Single threaded : 1 thread to serve them all (fit) Everything in memory Transactions (multi exec) Expiring keys LUA Scripting Publisher-Subscriber Auto Create and Destroy Pipelining But full clustering (master-master) is not available (yet)
17 Hello Redis redis-cli set name pascal => pascal incr counter => 1 incr counter => 2 hset pascal name pascal hset pascal address merelbeke sadd persons pascal smembers persons => [pascal] keys * type pascal => hash lpush todo read => 1 lpush todo eat => 2 lpop todo => eat rpoplpush todo done => read lrange done 0-1 => read
18 Let Redis Distribute parse csv process zip process process...
19 Spread the Work parse csv 1 Queue with data process zip counter process process...
20 Ruby on Redis Put PDF Create Input data on a Queue and do the counter bookkeeping docs.each do doc data = YAML::dump(doc) r.lpush 'pdf:queue, data end r.incr "ctr # bookkeeping
21 Create PDF s parse csv process zip counter Queue with data 1 Hash with pdfs 2 process process...
22 Ruby on Redis Read PDF input data from Queue and do the counter bookkeeping and put each created PDF in a Redis hash and signal if ready while (true) _, msg = r.brpop 'pdf:queue doc = YAML::load(msg) end #name of hash, key=docname, value=pdf r.hset( pdf:pdfs, doc[0], create_pdf(*doc)) ctr = r.decr ctr r.rpush "ready", "done" if ctr == 0
23 Zip When Done parse csv process zip ready 3 Hash with pdfs process process...
24 Ruby on Redis Wait for the ready signal Fetch all pdf s And zip them r.brpop "ready # wait for signal pdfs = r.hgetall pdf:pdfs # fetch hash create_zip pdfs # zip it
25 More Parallelism parse csv zip ready ready ready counter counter counter Queue with data hash Hash hash with Pdfs...
26 Ruby on Redis Put PDF Create Input data on a Queue and do the counter bookkeeping # unique id for this input file UUID = SecureRandom.uuid docs.each do doc data = YAML::dump([UUID, doc]) r.lpush 'pdf:queue, data end r.incr "ctr:#{uuid} # bookkeeping
27 Ruby on Redis Read PDF input data from Queue and do the counter bookkeeping and put each created PDF in a Redis hash while (true) end _, msg = r.brpop 'pdf:queue uuid, doc = YAML::load(msg) r.hset(uuid, doc[0], create_pdf(*doc)) ctr = r.decr "ctr:#{uuid}" r.rpush "ready:#{uuid}", "done" if ctr == 0
28 Ruby on Redis Wait for the ready signal Fetch all pdf s And zip them r.brpop "ready:#{uuid} # wait for signal pdfs = r.hgetall( pdf:pdfs ) # fetch hash create_zip(pdfs) # zip it
29 Full Code require 'csv' require 'princely' require 'zip/zip DATA_FILE = ARGV[0] DATA_FILE_BASE_NAME = File.basename(DATA_FILE, ".csv ) # create a pdf document from a csv line def create_pdf(invoice_nr, name, street, zip, city) template = File.new('../resources/invoice.html').read html = eval("<<wtfmf\n#{template}\nwtfmf") p = Princely.new p.add_style_sheets('../resources/invoice.css') p.pdf_from_string(html) end # zip files from hash def create_zip(files_h) zipfile_name = "../out/#{data_file_base_name}.#{time.now.to_s}.zip" Zip::ZipOutputStream.open(zipfile_name) do zos files_h.each do name, content zos.put_next_entry "#{name}.pdf" zos.puts content end end zipfile_name end # load data from csv docs = CSV.read(DATA_FILE) # array of arrays # create a pdf for each line in the csv # and put it in a hash files_h = docs.inject({}) do files_h, doc files_h[doc[0]] = create_pdf(*doc) files_h end # zip all pfd's from the hash create_zip files_h require 'csv require 'zip/zip' require 'redis' require 'yaml' require 'securerandom' # zip files from hash def create_zip(files_h) zipfile_name = "../out/#{data_file_base_name}.#{time.now.to_s}.zip" Zip::ZipOutputStream.open(zipfile_name) do zos files_h.each do name, content zos.put_next_entry "#{name}.pdf" zos.puts content end end zipfile_name end DATA_FILE = ARGV[0] DATA_FILE_BASE_NAME = File.basename(DATA_FILE, ".csv") UUID = SecureRandom.uuid r = Redis.new my_counter = "ctr:#{uuid}" # load data from csv docs = CSV.read(DATA_FILE) # array of arrays docs.each do doc # distribute r.lpush 'pdf:queue', YAML::dump([UUID, doc]) r.incr my_counter end r.brpop "ready:#{uuid}" #collect create_zip(r.hgetall(uuid)) # clean up r.del my_counter r.del UUID puts "All done require 'redis' require 'princely' require 'yaml # create a pdf document from a csv line def create_pdf(invoice_nr, name, street, zip, city) template = File.new('../resources/invoice.html').read html = eval("<<wtfmf\n#{template}\nwtfmf") p = Princely.new p.add_style_sheets('../resources/invoice.css') p.pdf_from_string(html) end r = Redis.new while (true) _, msg = r.brpop 'pdf:queue' uuid, doc = YAML::load(msg) r.hset(uuid, doc[0], create_pdf(*doc)) ctr = r.decr "ctr:#{uuid}" r.rpush "ready:#{uuid}", "done" if ctr == 0 end LINEAR MAIN WORKER Key functions ( and create zip) remain unchanged. Distribution code highlighted
30 DEMO 2
31 Multi Language Participants parse csv zip counter counter counter Queue with data hash Hash hash with pdfs...
32 Conclusions From Linear To Multi Process Distributed Is easy with Redis Shared Memory High Level Data Structures Atomic Counter for bookkeeping Queue for work distribution Queue as Signal Hash for result sets
LECTURE 27. Python and Redis
LECTURE 27 Python and Redis PYTHON AND REDIS Today, we ll be covering a useful but not entirely Python-centered topic: the inmemory datastore Redis. We ll start by introducing Redis itself and then discussing
More informationCOSC Redis. Paul Moore, Stephen Smithbower, William Lee. March 11, 2013
March 11, 2013 What is Redis? - Redis is an in-memory key-value data store. - Can be a middle-ware solution between your expensive persistent data-store (Oracle), and your application. - Provides PubSub,
More informationDr. Chuck Cartledge. 19 Nov. 2015
CS-695 NoSQL Database Redis (part 1 of 2) Dr. Chuck Cartledge 19 Nov. 2015 1/21 Table of contents I 1 Miscellanea 2 DB comparisons 3 Assgn. #7 4 Historical origins 5 Data model 6 CRUDy stuff 7 Other operations
More informationREDIS: NOSQL DATA STORAGE
REDIS: NOSQL DATA STORAGE 1 Presented By- Shalini Somani (13MCEC22) CATEGORIES OF NOSQL STORAGES Key-Value memcached Redis Column Family Cassandra HBase Document MongoDB Tabular BigTable Graph, XML, Object,
More informationRedis - a Flexible Key/Value Datastore An Introduction
Redis - a Flexible Key/Value Datastore An Introduction Alexandre Dulaunoy AIMS 2011 MapReduce and Network Forensic MapReduce is an old concept in computer science The map stage to perform isolated computation
More informationHarnessing the Full power of Redis. Daniel Magliola
Harnessing the Full power of Redis Daniel Magliola daniel@danielmagliola.com http://danielmagliola.com What is Redis? Redis is essentially like Memcached, but better I mean, it s an in-memory key-value
More informationHow you can benefit from using. javier
How you can benefit from using I was Lois Lane redis has super powers myth: the bottleneck redis-benchmark -r 1000000 -n 2000000 -t get,set,lpush,lpop,mset -P 16 -q On my laptop: SET: 513610 requests
More informationScalable Time Series in PCP. Lukas Berk
Scalable Time Series in PCP Lukas Berk Summary Problem Statement Proposed Solution Redis Basic Types Summary Current Work Future Work Items Problem Statement Scaling PCP s metrics querying to hundreds/thousands
More informationREdis: Implementing Redis in Erlang. A step-by-step walkthrough
R: Implementing Redis in Erlang A step-by-step walkthrough 1 2 : Implementing Redis in Erlang A step-by-step walkthrough 2 My Background Microsoft Visual Studio Visto Corporation Founded Inaka Moved to
More informationAgenda. About Me JDriven The case : Westy Tracking Background Architecture Implementation Demo
y t s e W g n i k c a r T and l a v a j # 6 1 h c r 8 Ma Agenda About Me JDriven The case : Westy Tracking Background Architecture Implementation Demo About me Proud dad of two kids and a '82 VW Westy
More informationDatabase Solution in Cloud Computing
Database Solution in Cloud Computing CERC liji@cnic.cn Outline Cloud Computing Database Solution Our Experiences in Database Cloud Computing SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure
More informationRedis Functions and Data Structures at Percona Live. Dave Nielsen, Developer Redis
Redis Functions and Data Structures at Percona Live Dave Nielsen, Developer Advocate dave@redislabs.com @davenielsen Redis Labs @redislabs Redis = A Unique Database Redis is an open source (BSD licensed),
More informationCaching Memcached vs. Redis
Caching Memcached vs. Redis San Francisco MySQL Meetup Ryan Lowe Erin O Neill 1 Databases WE LOVE THEM... Except when we don t 2 When Databases Rule Many access patterns on the same set of data Transactions
More informationNoSQL: Redis and MongoDB A.A. 2016/17
Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica NoSQL: Redis and MongoDB A.A. 2016/17 Matteo Nardelli Laurea Magistrale in Ingegneria Informatica -
More informationRedis as a Reliable Work Queue. Percona University
Redis as a Reliable Work Queue Percona University 2015-02-12 Introduction Tom DeWire Principal Software Engineer Bronto Software Chris Thunes Senior Software Engineer Bronto Software Introduction Introduction
More informationerlocator Location, location, location.
Location, location, location. Overview - Objective Make Erlang more accessible and less daunting. The demonstration application will: Leverage a NoSQL backend Use Natively Implemented Functions Exhibit
More informationProgramming in Python
COURSE DESCRIPTION This course presents both the programming interface and the techniques that can be used to write procedures in Python on Unix / Linux systems. COURSE OBJECTIVES Each participant will
More informationAgenda. Introduction You Me JDriven The case : Westy Tracking Details Implementation Deployment
y t s e W g n i k c a r T e p o r u mmit E u S y r d un o F 6 d 1 u h t Clo 8 2 r e b m Septe Agenda Introduction You Me JDriven The case : Westy Tracking Details Implementation Deployment About you About
More informationNoSQL Databases. an overview
NoSQL Databases an overview Who? Why? During studies: Excited by simplicity Crawler Project: 100 Million records Single server 100+ QPS Initially: Limited query options Now: Query them all Experimented
More informationJason Brelloch and William Gimson
Jason Brelloch and William Gimson Overview 1. Introduction 2. History 3. Specifications a. Structure b. Communication c. Datatypes 4. Command Overview 5. Advanced Capabilities 6. Advantages 7. Disadvantages
More informationBig Data Management and NoSQL Databases
NDBI040 Big Data Management and NoSQL Databases Lecture 5. Key-value stores Doc. RNDr. Irena Holubova, Ph.D. holubova@ksi.mff.cuni.cz http://www.ksi.mff.cuni.cz/~holubova/ndbi040/ Key-value store Basic
More informationMartin Kruliš, v
Martin Kruliš 1 Optimizations in General Code And Compilation Memory Considerations Parallelism Profiling And Optimization Examples 2 Premature optimization is the root of all evil. -- D. Knuth Our goal
More informationRedis Tuesday, May 29, 12
Redis 2.6 @antirez Redis 2.6 Major new features. Based on unstable branch (minus the cluster code). Why a 2.6 release? Redis Cluster is a long term project (The hurried cat produced blind kittens). Intermediate
More informationClassifying malware using network traffic analysis. Or how to learn Redis, git, tshark and Python in 4 hours.
Classifying malware using network traffic analysis. Or how to learn Redis, git, tshark and Python in 4 hours. Alexandre Dulaunoy January 9, 2015 Problem Statement We have more 5000 pcap files generated
More informationDiskBoss DATA MANAGEMENT
DiskBoss DATA MANAGEMENT Duplicate Files Search Version 9.1 Apr 2018 www.diskboss.com info@flexense.com 1 1 DiskBoss Overview DiskBoss is an automated, policy-based data management solution allowing one
More informationAbout Python. Python Duration. Training Objectives. Training Pre - Requisites & Who Should Learn Python
About Python Python course is a great introduction to both fundamental programming concepts and the Python programming language. By the end, you'll be familiar with Python syntax and you'll be able to
More informationdjango-redis-cache Documentation
django-redis-cache Documentation Release 1.5.2 Sean Bleier Nov 15, 2018 Contents 1 Intro and Quick Start 3 1.1 Intro................................................... 3 1.2 Quick Start................................................
More informationQTP MOCK TEST QTP MOCK TEST II
http://www.tutorialspoint.com QTP MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to QTP Framework. You can download these sample mock tests at your local
More informationDistributed Systems. 29. Distributed Caching Paul Krzyzanowski. Rutgers University. Fall 2014
Distributed Systems 29. Distributed Caching Paul Krzyzanowski Rutgers University Fall 2014 December 5, 2014 2013 Paul Krzyzanowski 1 Caching Purpose of a cache Temporary storage to increase data access
More informationHarness the power of Python magic methods and lazy objects.
Harness the power of Python magic methods and lazy objects. By Sep Dehpour Aug 2016 zepworks.com sep at zepworks.com https://github.com/seperman/redisworks Lazy Loading Defer initialization of an object
More informationMy Other Car is a Redis. Etan Grundstein & Sasha Popov DYNAMIC YIELD
My Other Car is a Redis Etan Grundstein & Sasha Popov DYNAMIC YIELD About Dynamic Yield Dynamic Yield helps marketers increase revenue by personalizing customer interactions across web, mobile web, mobile
More informationDatabases and Big Data Today. CS634 Class 22
Databases and Big Data Today CS634 Class 22 Current types of Databases SQL using relational tables: still very important! NoSQL, i.e., not using relational tables: term NoSQL popular since about 2007.
More informationPO CO DEVELOPER TRAINING C++ PORTABLE PO CO SMARTER DEVICE NETWORKING
C++ RTABLE MNENTS DEVELOPER TRAINING Overview An Overview and a Guided Tour of the C++ Libraries "Without a good library, most interesting tasks are hard to do in C++; but given a good library, almost
More informationMapReduce on the Cell Broadband Engine Architecture. Marc de Kruijf
MapReduce on the Cell Broadband Engine Architecture Marc de Kruijf Overview Motivation MapReduce Cell BE Architecture Design Performance Analysis Implementation Status Future Work What is MapReduce? A
More informationdoit Documentation Release
doit Documentation Release 0.30.3 Jan Vlčinský Oct 26, 2017 Table of Contents 1 tasks => {doit + shell + python} => done 1 1.1 Use Cases................................................. 1 1.2 Quick Start................................................
More informationCS333 Intro to Operating Systems. Jonathan Walpole
CS333 Intro to Operating Systems Jonathan Walpole Threads & Concurrency 2 Threads Processes have the following components: - an address space - a collection of operating system state - a CPU context or
More informationGUI in C++ PV264 Advanced Programming in C++ Nikola Beneš Jan Mrázek Vladimír Štill. Faculty of Informatics, Masaryk University.
GUI in C++ PV264 Advanced Programming in C++ Nikola Beneš Jan Mrázek Vladimír Štill Faculty of Informatics, Masaryk University Spring 2017 PV264: GUI in C++ Spring 2017 1 / 23 Organisation Lectures this
More informationScaling. Yashh Nelapati Gotham City. Marty Weiner Krypton. Friday, July 27, 12
Scaling Marty Weiner Krypton Yashh Nelapati Gotham City Pinterest is... An online pinboard to organize and share what inspires you. Relationships Marty Weiner Grayskull, Eternia Relationships Marty
More informationTHE FLEXIBLE DATA-STRUCTURE SERVER THAT COULD.
REDIS THE FLEXIBLE DATA-STRUCTURE SERVER THAT COULD. @_chriswhitten_ REDIS REDIS April 10, 2009; 6 years old Founding Author: Salvatore Sanfilippo Stable release: 3.0.3 / June 4, 2015; 3 months ago Fundamental
More informationIEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services
IEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services Lecture 11 - Asynchronous Tasks and Message Queues Albert Au Yeung 22nd November, 2018 1 / 53 Asynchronous Tasks 2 / 53 Client
More informationTungsten Replicator for Kafka, Elasticsearch, Cassandra
Tungsten Replicator for Kafka, Elasticsearch, Cassandra Topics In todays session Replicator Basics Filtering and Glue Kafka and Options Elasticsearch and Options Cassandra Future Direction 2 Asynchronous
More informationRedis as a Time Series DB. Josiah Carlson
Redis as a Time Series DB Josiah Carlson - @dr_josiah Agenda Who are you? What is Redis? (3 minutes, optional) What is a time series database? Combining structures for success Analyzing/segmenting events
More informationAntivirus and Content Shield Protect your SharePoint Farm Using the AvePoint Antivirus and Content Shield Solution
Quick Start Guide Antivirus and Content Shield Protect your SharePoint Farm Using the AvePoint Antivirus and Content Shield Solution This document is intended for anyone wishing to familiarize themselves
More informationRedis Func+ons and Data Structures
Redis Func+ons and Data Structures About This Talk Topic : Redis Func/ons and Data Structures Presenter: Redis Labs, the open source home and provider of enterprise Redis About Redis Labs: 5300+ paying
More informationDeep Learning Inference as a Service
Deep Learning Inference as a Service Mohammad Babaeizadeh Hadi Hashemi Chris Cai Advisor: Prof Roy H. Campbell Use case 1: Model Developer Use case 1: Model Developer Inference Service Use case
More informationCSci 4061 Introduction to Operating Systems. (Thread-Basics)
CSci 4061 Introduction to Operating Systems (Thread-Basics) Threads Abstraction: for an executing instruction stream Threads exist within a process and share its resources (i.e. memory) But, thread has
More informationMotivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4
Motivation Threads Chapter 4 Most modern applications are multithreaded Threads run within application Multiple tasks with the application can be implemented by separate Update display Fetch data Spell
More informationReJSON = { "activity": "new trick" } Itamar
ReJSON = { "id": "old dog", "activity": "new trick" } Itamar Haber @itamarhaber What do Chuck Norris, JSON & Redis have in common? They're everywhere. "Any application that can be written in JavaScript,
More informationTCL Scripting for Cisco IOS
TCL Scripting for Cisco IOS Petr Grygárek rek 1 Automation using TCL Scriptiong Network monitoring Troubleshooting tools Added intelligence 2 Tool Command Language (TCL) Invented by John K. Ousterhout,
More informationDeveloping Microsoft Azure Solutions (70-532) Syllabus
Developing Microsoft Azure Solutions (70-532) Syllabus Cloud Computing Introduction What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages
More informationTracing embedded heterogeneous systems
Tracing embedded heterogeneous systems P R O G R E S S R E P O R T M E E T I N G, D E C E M B E R 2015 T H O M A S B E R T A U L D D I R E C T E D B Y M I C H E L D A G E N A I S December 10th 2015 TRACING
More informationUsing Redis As a Time Series Database
WHITE PAPER Using Redis As a Time Series Database Dr.Josiah Carlson, Author of Redis in Action CONTENTS Executive Summary 2 Use Cases 2 Advanced Analysis Using a Sorted Set with Hashes 2 Event Analysis
More informationCS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University
CS 333 Introduction to Operating Systems Class 3 Threads & Concurrency Jonathan Walpole Computer Science Portland State University 1 Process creation in UNIX All processes have a unique process id getpid(),
More informationThreads. What is a thread? Motivation. Single and Multithreaded Processes. Benefits
CS307 What is a thread? Threads A thread is a basic unit of CPU utilization contains a thread ID, a program counter, a register set, and a stack shares with other threads belonging to the same process
More informationThe Kernel Abstraction
The Kernel Abstraction Debugging as Engineering Much of your time in this course will be spent debugging In industry, 50% of software dev is debugging Even more for kernel development How do you reduce
More informationProgress report of "Ruby 3 Concurrency"
Progress report of "Ruby 3 Concurrency" Cookpad Inc. Koichi Sasada Ruby X Elixir Conf Taiwan 2018 (2018/04/28) Today s topic Difficulty of Thread programming New concurrent abstraction
More informationA short-term plan for Redis
A short-term plan for Redis @antirez - Pivotal Redis is made of pieces Transactions Replication Storage API Scripting Sentinel Pub/Sub CLI Cluster Persistence Networking Evolution Redis can be analyzed
More informationECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective
ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part II: Data Center Software Architecture: Topic 3: Programming Models Piccolo: Building Fast, Distributed Programs
More informationwhitepaper Using Redis As a Time Series Database: Why and How
whitepaper Using Redis As a Time Series Database: Why and How Author: Dr.Josiah Carlson, Author of Redis in Action Table of Contents Executive Summary 2 A Note on Race Conditions and Transactions 2 Use
More informationGive Your Site a Boost With memcached. Ben Ramsey
Give Your Site a Boost With memcached Ben Ramsey About Me Proud father of 8-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original
More informationAlleviate the Apprehension of Coding in Ruby
Alleviate the Apprehension of Coding in Ruby Chris Lasell Apple Peeler Pixar Animation Studios Install session materials Includes some example code & libraries ruby-jss and ruby gem dependencies into /Library/Ruby/Gems
More informationLecture Notes to Big Data Management and Analytics Winter Term 2017/2018 NoSQL Databases
Lecture Notes to Big Data Management and Analytics Winter Term 2017/2018 NoSQL Databases Matthias Schubert, Matthias Renz, Felix Borutta, Evgeniy Faerman, Christian Frey, Klaus Arthur Schmid, Daniyal Kazempour,
More informationUnder the Hood, Part 1: Implementing Message Passing
Lecture 27: Under the Hood, Part 1: Implementing Message Passing Parallel Computer Architecture and Programming CMU 15-418/15-618, Today s Theme Message passing model (abstraction) Threads operate within
More informationPROCESSES AND THREADS
PROCESSES AND THREADS A process is a heavyweight flow that can execute concurrently with other processes. A thread is a lightweight flow that can execute concurrently with other threads within the same
More informationPayPal Delivers World Class Customer Service, Worldwide
PayPal Delivers World Class Customer Service, Worldwide Greg Gates, VP of Enterprise Ops Engineering Ramki Rosanuru, Sr. Engineering Manager-COE PayPal PEGA in PayPal Why we choose PEGA? Bridge the gap
More informationYour First Ruby Script
Learn Ruby in 50 pages Your First Ruby Script Step-By-Step Martin Miliauskas @mmiliauskas 1 Your First Ruby Script, Step-By-Step By Martin Miliauskas Published in 2013 by Martin Miliauskas On the web:
More informationMy First Command-Line Program
1. Tutorial Overview My First Command-Line Program In this tutorial, you re going to create a very simple command-line application that runs in a window. Unlike a graphical user interface application where
More informationCS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University
CS 333 Introduction to Operating Systems Class 3 Threads & Concurrency Jonathan Walpole Computer Science Portland State University 1 The Process Concept 2 The Process Concept Process a program in execution
More information/INFOMOV/ Optimization & Vectorization. J. Bikker - Sep-Nov Lecture 12: Multithreading. Welcome!
/INFOMOV/ Optimization & Vectorization J. Bikker - Sep-Nov 2018 - Lecture 12: Multithreading Welcome! Today s Agenda: Introduction Hardware Trust No One / An fficient Pattern xperiments Final Assignment
More informationPerformance Benchmark and Capacity Planning. Version: 7.3
Performance Benchmark and Capacity Planning Version: 7.3 Copyright 215 Intellicus Technologies This document and its content is copyrighted material of Intellicus Technologies. The content may not be copied
More informationA Distributed Query Engine for XML-QL
A Distributed Query Engine for XML-QL Paramjit Oberoi and Vishal Kathuria University of Wisconsin-Madison {param,vishal}@cs.wisc.edu Abstract: This paper describes a distributed Query Engine for executing
More informationwhitepaper RediSearch: A High Performance Search Engine as a Redis Module
whitepaper RediSearch: A High Performance Search Engine as a Redis Module Author: Dvir Volk, Senior Architect, Redis Labs Table of Contents RediSearch At-a-Glance 2 A Little Taste: RediSearch in Action
More informationCourse Outline: Course 10267A: Introduction to Web Development with Microsoft Visual Studio 2010 Learning Method: Instructor-led Classroom Learning
Course Outline: Course 10267A: Introduction to Web Development with Microsoft Visual Studio 2010 Learning Method: Instructor-led Classroom Learning Duration: 5.00 Day(s)/ 40 hrs Overview: This five-day
More informationGive Your Site a Boost With memcached. Ben Ramsey
Give Your Site a Boost With memcached Ben Ramsey About Me Proud father of 3-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original
More informationGrinderBench. software benchmark data book.
GrinderBench software benchmark data book Table of Contents Calculating the Grindermark...2 Chess...3 Crypto...5 kxml...6 Parallel...7 PNG...9 1 Name: Calculating the Grindermark The Grindermark and the
More informationRealtime visitor analysis with Couchbase and Elasticsearch
Realtime visitor analysis with Couchbase and Elasticsearch Jeroen Reijn @jreijn #nosql13 About me Jeroen Reijn Software engineer Hippo @jreijn http://blog.jeroenreijn.com About Hippo Visitor Analysis OneHippo
More informationIEMS 5722 Mobile Network Programming and Distributed Server Architecture
Department of Information Engineering, CUHK MScIE 2 nd Semester, 2016/17 IEMS 5722 Mobile Network Programming and Distributed Server Architecture Lecture 6 Databases and Caches Lecturer: Albert C. M. Au
More informationManual Mysql Query Cache Hit Rate 0
Manual Mysql Query Cache Hit Rate 0 B) why the Table cache hit rate is only 56% How can i achieve better cache hit rate? (OK) Currently running supported MySQL version 5.5.43-0+deb7u1-log or complex to
More informationBall Aerospace s Open Source Command and Control System. Ryan Melton Ball Aerospace & Technologies Corp. Boulder, CO
Ball Aerospace s Open Source Command and Control System Ryan Melton Ball Aerospace & Technologies Corp. Boulder, CO 8/5/2016 VISION To enable small satellite developers to easily and cost effectively command
More informationLogic Networks on the Grid: Handling 15 Million Jobs
Logic Networks on the Grid: Handling 15 Million Jobs Jan Bot, Delft Bioinformatics Lab 07-06-10 Delft University of Technology Challenge the future Overview Explanation of the application Challenges for
More informationINFO-H-415 Advanced Databases Key-value stores and Redis. Fatemeh Shafiee Raisa Uku
INFO-H-415 Advanced Databases Key-value stores and Redis Fatemeh Shafiee 000454718 Raisa Uku 000456485 December 2017 Contents 1 Introduction 5 2 NoSQL Databases 5 2.1 Introduction to NoSQL Databases...............................
More informationFeatures & Functionalities
Features & Functionalities Release 3.0 www.capture-experts.com Import FEATURES Processing TIF CSV EML Text Clean-up Email HTML ZIP TXT Merge Documents Convert to TIF PST RTF PPT XLS Text Recognition Barcode
More informationStorm. Distributed and fault-tolerant realtime computation. Nathan Marz Twitter
Storm Distributed and fault-tolerant realtime computation Nathan Marz Twitter Storm at Twitter Twitter Web Analytics Before Storm Queues Workers Example (simplified) Example Workers schemify tweets and
More informationCopyright 2012, Oracle and/or its affiliates. All rights reserved.
1 Oracle BI Publisher Best Practices: Be a Reporting Super Star Nikolas Psomas Principal Product Manager Klaus Fabian Sr. Manager, Product Development 2 CON9514 The following is intended to outline our
More informationSearch Engines and Time Series Databases
Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Search Engines and Time Series Databases Corso di Sistemi e Architetture per Big Data A.A. 2017/18
More informationRunning MarkLogic in Containers (Both Docker and Kubernetes)
Running MarkLogic in Containers (Both Docker and Kubernetes) Emma Liu Product Manager, MarkLogic Vitaly Korolev Staff QA Engineer, MarkLogic @vitaly_korolev 4 June 2018 MARKLOGIC CORPORATION Source: http://turnoff.us/image/en/tech-adoption.png
More informationCSCI 136 Data Structures & Advanced Programming. Fall 2018 Instructors Bill Lenhart & Bill Jannen
CSCI 136 Data Structures & Advanced Programming Fall 2018 Instructors Bill Lenhart & Bill Jannen Administrative Details Class roster: Who s here? And who s trying to get in? Handout: Class syllabus Lecture
More informationScrapy-Redis Documentation
Scrapy-Redis Documentation Release 0.7.0-dev Rolando Espinoza Nov 13, 2017 Contents 1 Scrapy-Redis 3 1.1 Features.................................................. 3 1.2 Requirements...............................................
More informationO Reilly RailsConf,
O Reilly RailsConf, 2011-05- 18 Who is that guy? Jesper Richter- Reichhelm / @jrirei Berlin, Germany Head of Engineering @ wooga Wooga does social games Wooga has dedicated game teams Cooming soon PHP
More informationTH IRD EDITION. Python Cookbook. David Beazley and Brian K. Jones. O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Tokyo
TH IRD EDITION Python Cookbook David Beazley and Brian K. Jones O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface xi 1. Data Structures and Algorithms 1 1.1. Unpacking
More informationDebugging CUDA Applications with Allinea DDT. Ian Lumb Sr. Systems Engineer, Allinea Software Inc.
Debugging CUDA Applications with Allinea DDT Ian Lumb Sr. Systems Engineer, Allinea Software Inc. ilumb@allinea.com GTC 2013, San Jose, March 20, 2013 Embracing GPUs GPUs a rival to traditional processors
More informationSmashing Node.JS: JavaScript Everywhere
Smashing Node.JS: JavaScript Everywhere Rauch, Guillermo ISBN-13: 9781119962595 Table of Contents PART I: GETTING STARTED: SETUP AND CONCEPTS 5 Chapter 1: The Setup 7 Installing on Windows 8 Installing
More informationManaging IoT and Time Series Data with Amazon ElastiCache for Redis
Managing IoT and Time Series Data with ElastiCache for Redis Darin Briskman, ElastiCache Developer Outreach Michael Labib, Specialist Solutions Architect 2016, Web Services, Inc. or its Affiliates. All
More informationIntel Thread Building Blocks, Part II
Intel Thread Building Blocks, Part II SPD course 2013-14 Massimo Coppola 25/03, 16/05/2014 1 TBB Recap Portable environment Based on C++11 standard compilers Extensive use of templates No vectorization
More informationConfiguring Embedded Event Manager
CHAPTER 34 Unless otherwise noted, the term switch refers to a standalone switch or a switch stack. For complete syntax and usage information for the commands used in this chapter, see the Catalyst 3750
More informationStateless Network Functions:
Stateless Network Functions: Breaking the Tight Coupling of State and Processing Murad Kablan, Azzam Alsudais, Eric Keller, Franck Le University of Colorado IBM Networks Need Network Functions Firewall
More informationHybrid MPI/OpenMP parallelization. Recall: MPI uses processes for parallelism. Each process has its own, separate address space.
Hybrid MPI/OpenMP parallelization Recall: MPI uses processes for parallelism. Each process has its own, separate address space. Thread parallelism (such as OpenMP or Pthreads) can provide additional parallelism
More informationADVANCED DATABASES CIS 6930 Dr. Markus Schneider. Group 5 Ajantha Ramineni, Sahil Tiwari, Rishabh Jain, Shivang Gupta
ADVANCED DATABASES CIS 6930 Dr. Markus Schneider Group 5 Ajantha Ramineni, Sahil Tiwari, Rishabh Jain, Shivang Gupta WHAT IS ELASTIC SEARCH? Elastic Search Elasticsearch is a search engine based on Lucene.
More informationCS 326: Operating Systems. Process Execution. Lecture 5
CS 326: Operating Systems Process Execution Lecture 5 Today s Schedule Process Creation Threads Limited Direct Execution Basic Scheduling 2/5/18 CS 326: Operating Systems 2 Today s Schedule Process Creation
More informationChilkat: crawling. Marlon Dias Information Retrieval DCC/UFMG
Chilkat: crawling Marlon Dias msdias@dcc.ufmg.br Information Retrieval DCC/UFMG - 2017 Introduction Page collector (create collections) Navigate through links Unpleasant for some Caution: Bandwidth Scalability
More information