Sei sulla pagina 1di 5

Spring 2011 PE - GPGPU

Parallelization of Content-Based Event Processing on GPU


by

Patel Kuldip L.(MT2010096)


Savalia Jay M. (MT2010134)

Guided by
Prof. Jaya Sreevalsan Nair
(International Institute of Information Technology - IIIT Bangalore)
&
Prof. Ashok Srinivasan
(Dept. of Computer Science Florida State University)

1
1. ABSTRACT

Event processing currently is used mainly in a reactive manner, where a system needs to take
an action as a result of an event or events that have already happened. Event processing
systems are a kind of technology for enterprise-scale applications. However, but to achieve it
and maintaining high performance is a challenging problem. This work introduces a parallel
matching engine which to increase throughput and to reduce the matching time. We represent
the parallelization techniques for and discuss their impact.

2. INTRODUCTION

Traditionally, graphics cards for workstations and personal computers have been designed
to handle intensive graphics operations to enable high speed rendering of complex objects
and scenes. More recently, the graphics cards of the past have been evolving to support
more programmable interfaces for graphics operations.These interfaces eventually became
sufficiently general to be able to map non-graphics computation in terms of graphics elements
and achieve non-graphics computation on graphics processors. Evolution in hardware
programmability together with software development platforms has transformed graphics
cards into General Purpose Graphical Processing Units (GPGPUs). Their programmability
has reached a point to make them suitable for more general-purpose computation. Com-
puting that is generally targeted towards execution on CPUs could now be re-targeted for
execution on GPUs. An application can use a GPGPU as either co-processor or core processor.

Event processing systems are becoming increasingly important in domains where high
performance is on prority. Such systems often supporting thousands of users and process-ing
millions of events. Achieving scalability and high perfor-mance under excessive scale
and load is a challenging problem. Fast event processing at Gigabit per second speed
is of great importance.The most computation-intensive function in event pro-cessing sys-
tems is the processing and matching engine that handles the important task of connecting
decoupled entities. In this project, we present a parallel content-based event matching engine.

The aim of this project is like first we point out the common denominators of publish/-
subscribe schemes. Then we will design and implement of publish/subscribe based systems
through specific examples like JOB PORTAL. This project focuses on the design and analysis
of an important algorithmic problem in JOB PORTAL systems: the matching of events(job)
with subscriptions to identify interested job seekers(subscribers).

The publish/subscribe interaction paradigm provides subscribers(job seekers) with the ability
to express their interest in an event(particular job) or a pattern of events(kind of jobs), in
order to be notified subsequently of any event(here mainly job), generated by a publisher(job
provider), that matches their registered interest. In other terms, job provider publish infor-
mation job seekers subscribe to the information they want to receive. This information is
typically denoted by the term event and the act of delivering it by the term notification.

2
3. IMPLEMENTATION (RELATED WORK)

In this section we represent system overview and discuss the data structures used, and its
impact on the system. We also discuss the different techniques used to parallelize the matching
algorithm.
The implemetation divided into two-phase algorithams:

• PHASE-1: Generally all incoming events form a queue and they are independent of
each other so we can reorder the event queue. Reordring is based on the currently
processing event by the event matching processor. For example if event A is currently
processed by event matching processor and if event B is first event in event queue,
and event C which is after the eventB but it is more similar in terms of content space
then event C will get chance first to get process rather than event B. To increase the
utlization of Processor cores, rather than just passing a single event to processor, here
we make bunch of events which are similar in terms of content space to each other and
pass bunch of events to particular that processor-core. So not only Processor utilization
but also cache memory utilization increases.

In this pahse we will develop Scheduler which operates on event queue and take event
from the event queue and paste in secondary queue which stores the event in such a
way that all event Ei stores together and then only Ei+1 type event will come. Basically
in starting this ordering process is some how depends on the first process running on
processor, as described above if E10 is currently running and there is two events E4
and E11 is in event queue then scheduler reorder it in such way that E11 comes in first
position and E4 will come next in secondary queue to get cache memory advantage of
GPU.
• The matching algorithm is based on bit vector which is used to track all content space
matched by an event regardless of their corresponding subscriptions.This algorithm will
give set of subscription which have content space satisfied by the current event. In this
model, we make a partitioning of all content space and consider as a binary property.
An event has value 1 for a property if it falls into the corresponding partition and 0
otherwise. Obviously, if the partitions do not overlap, an event can have value 1 for only
one property. Same way subscriptions can also be partitioned, based on their interest in
the content space partitions. In this way, for a given event, the algorithm can quickly
identify the subset of subscriptions interested in that event.

3
4. Architechture

Figure 1: Architecture

• Data Extractor: It reads data from database.


• Event Handler: It manages event input stream and generates bunch of events.
• Event Matching algorithm on GPU: It runs bunch of events parallely.

5. Thread Execution Model

Figure 2: Thread execution model

• Ei = all event which has i number of 1.


• Si = all subscriber which has i number of 1.
• GPU has set of event(Ei ) which is related to each other. Means that all subscribers
related to (Ei ) is only contains by (Si ). So will make a thread whose inputs are (Ei )
and (Si ) and it and a set of subscriber which is exactly match with (Ei ). So if we have
more number of event bunch then we can increase utilize GPU core.

4
kuldipkumar.patel@iiitb.org, maulik.shah@iiitb.irg

Potrebbero piacerti anche