Final Presentation - Technion

batterycopperInternet and Web Development

Nov 12, 2013 (3 years and 5 months ago)

73 views



Introduction


Amdocs’ clients line of work has to collect information from
different, separated and independent devices, and each device
has a lot of information to provide to the interested parties.


S
o there are some challenges:


Information provided in different formats.


Each device provides more than
o
ne kind of information.


There are so many devices reporting to the same application.


So our project main idea is dealing with the
a
bove challenges.

Objectives


Analyzing dependency between given
transformations (functions) in order to show
which functions can be executed
simultaneously.



Efficient execution of functions that can
executed simultaneously.


Objectives



First part: Getting XML file that has a defined format which
contains names of functions and there inputs, also it has the
location where this function/input lives (such as
class/DB/files).



Second part: Building the dependency graph.



Third part: Executing the functions in parallel way.

Methodology


Spring framework was used to parse and
instantiate functions according to given xml.


Spring tool suite was used to visualize
dependency graph.


Serialization was used to save graph to disk for
future execution.


Java
ThreadPoolExecutor

was used to manage
simultaneous execution of resulted graph.


Log4j was used to log events during graph
execution.

Achievements


Best case scenario shows increasing in
performance by number of available
processors in comparison to serial execution


Conclusion


When building a large system, good design is
very important.


Using existing (free) source
-
code can save a lot
of time and work.


The course is a good way to expose students
to new technologies, gain some hands on
experience with “real” software projects, get
familiar with a project’s life
-
cycle and learn
how to conduct oneself in a team.