Why is UNICAGE  fast?

  • No middleware with huge overhead
    • We use only the core functions of the OS  without any database, runtime or middleware. From this aspect, UNIX/Linux OSes like FreeBSD are excellent since they have compact kernel code and you can select the required peripheral software from the PORTS collection.
  • Precisely tuned USP Unicage commands
    • We have developed the commands used in the shell scripts in C language that control memory and CPU directly. They are extensively tuned (for instance by using the SIMD command inline). For this reason, it is tens of times faster than commands written in Java. (This is clear by the difference in the size of the post-compilation assembler code.)
  • Parallel Processing using Pipelines
    • Shell scripts can easily use the “pipe” -- a unique feature of UNIX. By connecting USP Unicage commands with a pipeline you can achieve parallel processing which improves processing speed. For example, in one project for an investment bank, we utilized 95% of CPU in a 16-core machine to process 30 million records: 60 times faster than their legacy system.
  • ush
    • In order to eliminate the overhead of the shell itself, we have created our own shell called “ush” based on “ash”. The same shell script runs 1.7 times faster on “ush” than on standard “bash”. We continue to improve the “ush” shell, for example by changing the implementation of pipes to “mmap” (kernel memory) with ID passing.
  • One Push Technology
    • In order to search large datasets, we employ directory tree division and memory cache control. Our “Pompa Technology” embeds the search key in the path name, enabling two-layer search at the OS level and the Unicage level. Using this technology we were able to return search results from 10TB of log data (from a Korean search engine) in less than 0.1 second without using expensive appliances.

Example

Clients System usage Process Speed development speed
Japanese credit card company Credit card processing 30m clients, 200k merchants, 100 txn/month 8x faster
From >15 hours (Hitachi Mainframe) to <2 hours (x86 Cluster)
4x less code
From 3,600 LoC in 3 months (Cobol) to <1,000 LoC in 3 weeks (Unicage)
Bank in Brazil Batch replacement
$2.3b net income, 4,700 employees
1,5x faster
From 5 minutes (IBM mainframe) to ~3m (Dockers omn x86)
90x less code
From >10k LoC in 966 hours (Cobol) to 115 LoC in 40 hours (Unicage)
Bank in Portugal Reconciliation
~2 million transactions/ day, >300 diferent rules
60x faster
From ~2 hours to <3 minutes (on same x86 configuration)
Fast
3 main rules (credit card transactions) implemented in 5 days and 400 LoC
Power Company in Portugal Invoicing
6 million clients, 300 million measurement points (every 15 minutes)
30x times faster
From > 2 days (Oracle DB) to 90 minutes (RedHat on x86 – 1 server)
6x less code
From 3,000 LoC (SQL) to 500 LoC in 2 weeks (Unicage)
TEPCO Calculation of electricity charges
30m clients, readings every 30 minutes
56x faster
From >40 minutes (Java) to 40 seconds (Unicage)
67x less code
From 20k LoC (Java) to 300 LoC (Unicage)