Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "A Set of Tools to Solve NMS Scaling Using Aspects Shay Raz Advisor: Prof. Amiram Yehudai."— Presentation transcript:

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

2 Overview Background Model Basic Aspects Optimizations Package Plug-in Summary Future Work

3 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!

4 Background (Cont.) Solution – complete system reengineering Constraints –On going development of new features. –Support and maintain existing solution. –Usual time/manpower constraints. Thesis – why dont 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.

5 Model Elements –Device, Port, Link, Connection Managers –Element manager –Element Database manager Application –Connection Analyzer Simulation –Topology creator –Test runner

6 Class Diagram DeviceConnectionLinkPort * ** 2 1

7 Database Scheme

8 Topology

9 Connections

10 Initial Results Linux 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

11 Basic Aspects Load control aspects –PreventLoadAspect Getting elements aspects –XXGetElementAspect –XXGetRelatedYYIdsAspect

12 Basic Results Linux 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

13 Optimization Development aspect –TraceDatabaseAspect Elements are selected from database one by one –Db overhead –DB latency We can do better then that…

14 Optimization (Cont.) Enhance the get related aspect to do the loading also. –XXGetRelatedYYAspect

15 Optimized Results Linux 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

16 Optimization 2 Development aspect –CountObjectCreationAspect Topology elements are created many times more there needed. –Selective loading –Caching mechanism

17 Optimization 2 (Cont.) Change load strategy to load topology only –TopologyOnlyLoadAspect –ConnectionGetRelatedLinkAspect

18 Optimized 2 Results Linux 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

19 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

20 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)

21 JDO Aspects Transaction aspect –JDOTransactionAspect Get elements aspect –XXGetElementAspect

22 Results Summary Linux 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

23 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

24 Future Work Objects scope detection Dynamic optimization Dynamic loading strategy Distribution using aspects Clients scaling


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

Similar presentations


Ads by Google