Skip to content

Languages & Runtimes

".Net is too slow" was not an option

with Tomasz Woznica & Wojtek Kurzawiński

Thursday 9 July 19:30 – 20:00 Stage 6 - powered by Microsoft

About This Session

There were two simple scenarios among dozen others that had to meet strict SLAs when we start migration mBank core banking system (Altamira) from mainframe to distributed platform. Processing input files, computation and persist results in database. Start driving cursor on sql, computation and produce output files. The story is about creating event-driven runtime in C# that is capable to accelerate this kind of jobs completely transparent for original COBOL source code making replatforming possible. We are able to spawn from 2 to N concurrent subtasks that from system point of view are single task. Goal for replatforming was to run core banking system on distributed platform using one line of code – COBOL. Parallelism for files : splitting to small chunks – couple strategies were implemented - all based annotations for build compound key that defines ranges for subtasks merging results where persist file on disk takes too long we have “magic” virtual split virtual merge Parallelism for sql cursors : splitting – provide information about identification of subtasks to sql without changing sql commands generated by application. Evaluating ranges based on compound keys merging – how to deal with “empty” ranges Performance to achieve was very challenging and combine multiple topics that was covered. We must stand side by side with mainframe – aka performance beast. Moving mainframe all operation from memory access to distributed world where network latency, IO operations and so on are not negligible pushed us for find not obvious solutions. These two topics are just tip of an iceberg in approach for legacy system migration. mBank system processing day by day couple of thousands jobs where most of steps using acceleration path. This approach allow finishing End of Day processing in SLA window to start another usual day for our customers. We would like to share and inspire developers with our findings in mBank success journey for replatforming.

Topics

  • C#
  • Distributed Systems
  • Performance
  • Scaling
  • Software Architecture
  • SQL
  • Streaming
  • System Design
  • Threat Modelling