a set of tools to solve nms scaling using aspects shay raz advisor: prof. amiram yehudai

24
A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Upload: shea-causey

Post on 30-Mar-2015

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

A Set of Tools to Solve NMS Scaling Using Aspects

Shay Raz

Advisor: Prof. Amiram Yehudai

Page 2: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Overview

• Background

• Model

• Basic Aspects

• Optimizations

• Package Plug-in

• Summary

• Future Work

Page 3: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Background

• Atrica• Network Management System (NMS)

– Inventory management, Fault management, Performance management, Service Management, Security Management, Fraud Detection, and Billing.

• Scaling problem– Solution is setup dependent.

– Small setup -> in memory virtual network.

– Big setup -> system collapse!

Page 4: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Background (Cont.)

• Solution – complete system reengineering• Constraints

– On going development of new features.– Support and maintain existing solution.– Usual time/manpower constraints.

• Thesis – why don’t use Aspect to solve scaling program– Use same code base.– Plug in and out scaling issue as needed.– Dynamically refine pointcuts to include new development.

Page 5: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Model

• Elements– Device, Port, Link, Connection

• Managers– Element manager– Element Database manager

• Application– Connection Analyzer

• Simulation– Topology creator– Test runner

Page 6: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Class Diagram

Device

Connection Link

Port*

* *

2

1

Page 7: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Database Scheme

FK_PORT_REFERENCE_LINK

FK_PORT_REFERENCE_DEVICE

FK_ROUTE_REFERENCE_CONNECTI

FK_ROUTE_REFERENCE_LINK

DEVICE

DEVICE_IDNAMEDESCRIPTION

intvarchar(40)varchar(100)

<pk>

CONNECTION

CONNECTION_IDNAMEDESCRIPTION

intvarchar(40)varchar(100)

<pk>

LINK

LINK_IDNAMEDESCRIPTION

intvarchar(40)varchar(100)

<pk>

PORT

PORT_IDNAMEDESCRIPTIONDEVICE_IDLINK_ID

intvarchar(40)varchar(100)intint

<pk>

<fk2><fk1>

ROUTE

CONNECTION_IDLINK_ID

intint

<fk1><fk2>

Page 8: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Topology

Page 9: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Connections

Page 10: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Initial ResultsLinux

SettingLoadMemoryDevice Get ConnectionConnection Get Devices

TimeTotalCore Avg.Edge Avg.MaxTotalAvg.Max

No Aspects49,020209,845,176790280572,172071

PC

SettingLoadMemoryDevice Get ConnectionConnection Get Devices

TimeTotalCore Avg.Edge Avg.MaxTotalAvg.Max

No Aspects14,782290,125,552797270783,32801,828

Page 11: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Basic Aspects

• Load control aspects– PreventLoadAspect

• Getting elements aspects– XXGetElementAspect– XXGetRelatedYYIdsAspect

Page 12: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Basic ResultsLinux

SettingLoadMemoryDevice Get ConnectionConnection Get Devices

TimeTotalCore Avg.Edge Avg.MaxTotalAvg.Max

No Aspects49,020209,845,176790280572,172071

Basic135259,8242,920,13181,6201,05285,6757,477,67674711

PC

SettingLoadMemoryDevice Get ConnectionConnection Get Devices

TimeTotalCore Avg.Edge Avg.MaxTotalAvg.Max

No Aspects14,782290,125,552797270783,32801,828

Basic171236,28011,393,971329,6194,049334,4531,691,97916141

Page 13: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Optimization

• Development aspect– TraceDatabaseAspect

• Elements are selected from database one by one– Db overhead– DB latency

• We can do better then that…

Page 14: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Optimization (Cont.)

• Enhance the get related aspect to do the loading also.– XXGetRelatedYYAspect

Page 15: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Optimized ResultsLinux

SettingLoadMemoryDevice Get ConnectionConnection Get Devices

TimeTotalCore Avg.Edge Avg.MaxTotalAvg.Max

No Aspects49,020209,845,176790280572,172071

Basic135259,8242,920,13181,6201,05285,6757,477,67674711

Optimized213259,8241,246,86839,91842457,5256,420,950641,409

PC

SettingLoadMemoryDevice Get ConnectionConnection Get Devices

TimeTotalCore Avg.Edge Avg.MaxTotalAvg.Max

No Aspects14,782290,125,552797270783,32801,828

Basic171236,28011,393,971329,6194,049334,4531,691,97916141

Optimized1,313236,2809,996,218213,8583,929225,8441,570,33015125

Page 16: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Optimization 2

• Development aspect– CountObjectCreationAspect

• Topology elements are created many times more there needed.– Selective loading– Caching mechanism

Page 17: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Optimization 2 (Cont.)

• Change load strategy to load topology only– TopologyOnlyLoadAspect– ConnectionGetRelatedLinkAspect

Page 18: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Optimized 2 ResultsLinux

SettingLoadMemoryDevice Get ConnectionConnection Get Devices

TimeTotalCore Avg.Edge Avg.MaxTotalAvg.Max

No Aspects49,020209,845,176790280572,172071

Basic135259,8242,920,13181,6201,05285,6757,477,67674711

Optimized213259,8241,246,86839,91842457,5256,420,950641,409

Optimized 23,08811,120,2801,048,98034,95635036,276322,212399

PC

SettingLoadMemoryDevice Get ConnectionConnection Get Devices

TimeTotalCore Avg.Edge Avg.MaxTotalAvg.Max

No Aspects14,782290,125,552797270783,32801,828

Basic171236,28011,393,971329,6194,049334,4531,691,97916141

Optimized1,313236,2809,996,218213,8583,929225,8441,570,33015125

Optimized 21,57811,605,1449,718,595212,8143,795222,00092,557078

Page 19: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Package Plug-in

• Develop in house caching solution is expensive.

• There are a lot of off-the-shelf solutions

• Use Aspect to plug-in an off-the-shelf solution into the system

Page 20: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

JDO - Java Data Object

• Java JSR.• Separate persistency model from data model.• Use XML to describe DB schema and mapping.• Use enhancer (byte code to byte code) to introduce

persistency code.• Has many implementations : RI, LiDO, KoDO,

etc.• Not very stable (yet)

Page 21: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

JDO Aspects

• Transaction aspect– JDOTransactionAspect

• Get elements aspect– XXGetElementAspect

Page 22: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Results SummaryLinux

SettingLoadMemoryDevice Get ConnectionConnection Get Devices

TimeTotalCore Avg.Edge Avg.MaxTotalAvg.Max

No Aspects49,020209,845,176790280572,172071

Basic135259,8242,920,13181,6201,05285,6757,477,67674711

Optimized213259,8241,246,86839,91842457,5256,420,950641,409

Optimized 23,08811,120,2801,048,98034,95635036,276322,212399

PC

SettingLoadMemoryDevice Get ConnectionConnection Get Devices

TimeTotalCore Avg.Edge Avg.MaxTotalAvg.Max

No Aspects14,782290,125,552797270783,32801,828

Basic171236,28011,393,971329,6194,049334,4531,691,97916141

Optimized1,313236,2809,996,218213,8583,929225,8441,570,33015125

Optimized 21,57811,605,1449,718,595212,8143,795222,00092,557078

JDO109236,0001,260,78139,95240153,10942,00,000422,000

Page 23: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Summary

• Aspects can be used to easily change software strategy.– Useful for product-line

• Development Aspects can be use to optimize software.– Instrumentation is very specific

• Aspects can be used to easily plug-in off-the-shelf products

Page 24: A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai

Future Work

• Objects scope detection

• Dynamic optimization

• Dynamic loading strategy

• Distribution using aspects

• Clients scaling