Infinera, tidigare Transmode, behövde lösa ett problem. En beräkningsmotor tog så lång tid att exekvera så att det påverkade affären. Med hjälp av en senior utvecklare från Crisp lyckades man öka prestandan med 145 gånger.

I Infineras Network Manager finns en beräkningsmotor som beräknar konnektivitetsmodellen för ett flerlagers optiskt transmissionsnät enligt MTOSI-standarden.

Modellen används av funktioner för att koppla upp de tjänster som Infineras kunder, nätägarna, sedan säljer till sina slutkunder.

Beräkningsmotorn tog för en av de största nätägarna en och halv timme på sig att beräkna modellen. Nätet ändras ofta och då måste beräkningen göras om från början. För att kompensera för detta, tvingandes man dela in nätet i mindre subnät som gick snabbare att beräkna.

Detta innebar kraftiga begränsningar för nätägarna: man kunde inte sälja förbindelser som korsade subnätsgränser.

Infinera tog hjälp av Crisps Olle Hallin. Teamet lyckades sänka beräkningstiden för en av de största nätägarnas hela nät från 90 minuter till 37 sekunder.

Nu behövs inte subnät längre och nätägarna kan därmed sälja bättre tjänster till sina slutkunder.

Den första ansatsen var att profilera den befintliga koden och ta bort uppenbara flaskhalsar. Detta fördubblade prestandan men var inte tillräckligt.

Den andra ansatsen var att skriva om beräkningsmotorn från grunden med bibehållen enkeltrådad algoritm, men med smartare datastrukturer.

Teamet använde idéer från Domain Driven Design. Originaldata transformeras in i en Bounded Context till en objektmodell optimerad för problemet. Äkta objektgrafer, IdentityHashMap, EnumMap och liknande gör all objektnavigering extremt snabb. Efter beräkningen transformeras resultatet tillbaka till den gamla modellen för persistering i databasen.

Här dök nästa flaskhals upp: persistering av resultatet. En omkonstruktion av databasschemat gjorde det möjligt att kapa persisteringstiden med 10-tals minuter.

Den tredje ansatsen, att utveckla en parallell algoritm och byta till NoSQL, behövde aldrig användas.

En förändrad systemarkitektur gav en förbättring av prestanda vilket möjliggjorde nya affärer med färre begränsningar för hur nät kan hanteras.

Här kan du träffa Olle Hallin >

Case stories

Swedbank

Building a strong Agile Coaching Community – The Swedbank story

What can you do when the demand for Agile Coaching is increasing in your organization at a rapid pace and you cannot keep up? Implementing rigid models and frameworks will not work. You need a deeper knowledge of the underlying principles and patterns the models and frameworks are based on and how to effectively adapt […]

Folksam

Team Coach Training with Folksam

This spring we launched a pilot training workshop for scrum masters/team coaches. The workshop offered participants the opportunity to get to know themselves and their colleagues by providing them with a safe learning environment where they could experiment and get feedback. We partnered with Folksam and their team coaches to run two parallel series of […]

King

Coaching game teams at King

Yassal talks about her experience leveraging the strengths of the teams at King: Teams at King’s Stockholm game studio (the maker of Candy Crush) are autonomous, they are also encouraged to try, test, fail and learn from their experiences. For the past four years I’ve worked with amazingly talented people in this environment. We experimented and […]