Skip to content
This repository has been archived by the owner on Sep 3, 2023. It is now read-only.

Releases: poseidonos/air

AIR 0.8.7-beta

05 Dec 10:29
6eb4906
Compare
Choose a tag to compare
AIR 0.8.7-beta Pre-release
Pre-release

🔨 Updated

  • Remove 'node sampling' option

AIR 0.8.6-beta

13 Oct 01:54
1916ca4
Compare
Choose a tag to compare
AIR 0.8.6-beta Pre-release
Pre-release

⭐ New Feature

  • Add file related config option: FileWrite, RemainingFileCount
  • Add file related cli option: air-file-write, air-remain-file-count

AIR 0.8.5-beta

16 Sep 05:34
Compare
Choose a tag to compare
AIR 0.8.5-beta Pre-release
Pre-release

🔨 Updated

  • Remove 'new_' prefix of variables
  • Remove latency data(vector) reserve scheme

AIR 0.8.4-beta

17 Aug 01:34
b30f396
Compare
Choose a tag to compare
AIR 0.8.4-beta Pre-release
Pre-release

🔨 Updated

  • Modify AIR configuration filter rule: Doesn't need to use "AIR_" prefix anymore
  • Reinforce filter syntax

AIR 0.8.3-beta

09 Aug 05:10
33928a0
Compare
Choose a tag to compare
AIR 0.8.3-beta Pre-release
Pre-release

🔨 Updated

  • Support Address Sanitizer(ASAN) to detect memory corruption bugs
  • Improve latency sampling scheme in a small workload
  • Send output data even if periodic data is empty but cumulated data is not empty
  • Update build sequence to perceive config file change

AIR 0.8.2-beta

30 May 06:07
38b7be8
Compare
Choose a tag to compare
AIR 0.8.2-beta Pre-release
Pre-release

🔨 Updated

  • Updated compile option for debug friendly
  • Updated config rule to check forbidden words(Node's key)
  • Replaced Preprocessor's vector to an array to avoid dynamic memory reallocation

🚧 Fixed

  • Fixed memory leak when Transfer::SendData(void) call

AIR 0.7.4-beta

24 May 02:05
Compare
Choose a tag to compare
AIR 0.7.4-beta Pre-release
Pre-release
[SHPOS-746] Change vector to array

- Change Preprocessor's std::vector to array for avoiding dynamic memory reallocation
- Add debug option

Signed-off-by: isaac.baek <[email protected]>

AIR 0.8.0-beta

04 Mar 07:59
Compare
Choose a tag to compare
AIR 0.8.0-beta Pre-release
Pre-release

⭐ New Feature

  • AIR output format is changed to distinguish between period data and cumulation data from object data.
  • TUI supports --file(f)=<filename> option to read an offline output data.
  • In TUI, user can see previous timeline data.
TUI mode: [online], status: [pause], page: [7/12],  interval: [1],  timestamp: 2022-3-4:15:34:39, pid: 18544
key {↑/↓}: move, {→/←}: (un)fold, {b}: perv page, {n}: next page, {space}: play/pause
    {1~9}: streaming interval, {i}: init, {o}: run, {x}: stop, {q(esc)}: quit
(*)   Top
( )   +Group:COMMON
( )[O]++Node:LAT_PROCESS("latency")
      ""(0), index:0x200, filter:"AIR_0~AIR_1" Period(avg:650ns, median:610ns, max:3.0us, sample:100    ), Cumulation(avg:833ns, median:575ns, max:14us , sample:598    )
      ""(0), index:0x201, filter:"AIR_0~AIR_1" Period(avg:567ns, median:415ns, max:3.7us, sample:99     ), Cumulation(avg:807ns, median:554ns, max:11us , sample:597    )
( )[O]++Node:PERF_BENCHMARK("performance")
        SUM Period(iops:2.0M   , bw:8.1GB   ), Cumulation(iops:2.4M   , bw:9.9GB   )
      "CompleteIO"(18552), index:0x200, filter:"AIR_READ" Period(iops:967.4K , bw:4.0GB   , count:[{"4096": 1131761}]), Cumulation(iops:1.2M   , bw:4.7GB   )
      "CompleteIO"(18552), index:0x201, filter:"AIR_READ" Period(iops:1.0M   , bw:4.2GB   , count:[{"4096": 1187940}]), Cumulation(iops:1.3M   , bw:5.1GB   )
( )   +Group:COMPLETE
( )[O]++Node:LAT_COMPLETE("latency")
      ""(0), index:0x0, filter:"AIR_0~AIR_1" Period(avg:131ns, median:94ns , max:677ns, sample:100    ), Cumulation(avg:153ns, median:99ns , max:5.3us, sample:600    )
( )[.]..Node:Q_COMPLETION

⚡ Performance

  • Benchmarked airlog(...) API
    Run on (160 X 3700 MHz CPU s)
    CPU Caches:
    L1 Data 32 KiB (x80)
    L1 Instruction 32 KiB (x80)
    L2 Unified 1024 KiB (x80)
    L3 Unified 28160 KiB (x4)
Logging type Time Iterations
Performance 7.69ns 1,000,000,000
Queue 7.12ns 1,000,000,000
Latency 10.7ns 1,000,000,000
Utilization 5.42ns 1,000,000,000
Count 6.25ns 1,000,000,000
Histogram_Linear 14.4ns 968,453,298
Histogram_Exponential 60.2ns 233,138,692

AIR 0.7.2-beta

21 Jan 07:36
Compare
Choose a tag to compare
AIR 0.7.2-beta Pre-release
Pre-release

⭐ New Feature

  • Add a new logging type Histogram for airlog(node_name, filter_item, node_index, data) API to support histogram information.
    Now, user can define Histogram type node at AIR configuration file.
[BUCKET]
    "Bucket: BUCKET_3, Bounds: [-100, 80), Scale: 20"
    "Bucket: BUCKET_6, Bounds: (-10^3, 10^5), Scale: 10^"
[/BUCKET]

[NODE]
    "Node: HIST_SAMPLE_3,   Filter: AIR_Basic,   Type: Histogram,    Group: COMMON,     IndexSize: 10,   Bucket: BUCKET_3"
    "Node: HIST_SAMPLE_6,   Filter: AIR_Basic,   Type: Histogram,    Group: COMMON,     IndexSize: 10,   Bucket: BUCKET_6"
[/NODE]

And here is a reference code to use histogram type airlog(...)

airlog("HIST_SAMPLE_3", "AIR_BASE", 0, -100);
...
airlog("HIST_SAMPLE_6", "AIR_BASE", 1, 99999);

And also, user can read data using air_tui

( )[O]++Node:HIST_SAMPLE_3("histogram")
      "HistogramLog"(19471), index:0x0, filter:"AIR_0", bucket_type:"linear"
        Unit    value:(minimum/average/maximum) count:(underflow -100    -80     -60     -40     -20     0       20      40      60      80      overflow)
        Period         -101    -50     -20             18.9K      |18.9K  |18.9K  |18.9K  |18.9K  |18.9K  |0      |0      |0      |0      |      0
        Cumulation     -101    -50     -20             94.3K      |94.3K  |94.3K  |94.3K  |94.3K  |94.3K  |0      |0      |0      |0      |      0
      "HistogramLog"(19471), index:0x1, filter:"AIR_0", bucket_type:"linear"
        Unit    value:(minimum/average/maximum) count:(underflow -100    -80     -60     -40     -20     0       20      40      60      80      overflow)
        Period         0       40      80              0          |0      |0      |0      |0      |0      |18.9K  |18.9K  |18.9K  |18.9K  |      18.9K
        Cumulation     0       40      80              0          |0      |0      |0      |0      |0      |94.3K  |94.3K  |94.3K  |94.3K  |      94.3K
( )[O]++Node:HIST_SAMPLE_6("histogram")
      "HistogramLog"(19471), index:0x0, filter:"AIR_0", bucket_type:"exponential"
        Unit    value:(minimum/average/maximum) count:(underflow -1.0K   -100    -10     -1  0   1       10      100     1.0K    10.0K   100.0K  overflow)
        Period         -1.0K   6.7K    100.0K          18.9K      |18.9K  |18.9K  |18.9K  |18.9K  |18.9K  |18.9K  |18.9K  |18.9K  |18.9K  |      18.9K
        Cumulation     -1.0K   6.7K    100.0K          94.3K      |94.3K  |94.3K  |94.3K  |94.3K  |94.3K  |94.3K  |94.3K  |94.3K  |94.3K  |      94.3K

⚡ Performance

  • Benchmarked airlog(...) API
    Run on (160 X 3700 MHz CPU s)
    CPU Caches:
    L1 Data 32 KiB (x80)
    L1 Instruction 32 KiB (x80)
    L2 Unified 1024 KiB (x80)
    L3 Unified 28160 KiB (x4)
Logging type Time Iterations
Performance 7.68ns 1,000,000,000
Queue 7.23ns 1,000,000,000
Latency 10.6ns 1,000,000,000
Utilization 5.49ns 1,000,000,000
Count 6.24ns 1,000,000,000
Histogram_Linear 14.4ns 968,453,307
Histogram_Exponential 60.0ns 233,138,718

🚧 Fixed

  • Fixed a bug in air_tui hang issue when a number overflowed
  • Fixed latency logging mismatch issue cause of too small buffer

AIR 0.7.1-beta

29 Nov 05:06
Compare
Choose a tag to compare
AIR 0.7.1-beta Pre-release
Pre-release

✔ Optimizations

  • Optimized airlog(node_name, filter_item, node_index, data) APIs
    Run on (160 X 3700 MHz CPU s)
    CPU Caches:
    L1 Data 32 KiB (x80)
    L1 Instruction 32 KiB (x80)
    L2 Unified 1024 KiB (x80)
    L3 Unified 28160 KiB (x4)
    AIR_API/Type_Performance: 8.46ns -> 7.51ns (11% improvement)
    AIR_API/Type_Latency: 12.6ns -> 10.7ns (15% improvement)
    AIR_API/Type_Queue: 9.76ns -> 7.29ns (25% improvement)
    AIR_API/Type_Utilization: 7.07ns -> 5.44ns (23% improvement)
    AIR_API/Type_Count: 7.31ns -> 6.41ns (12% improvement)

  • Optimized latency post-processing
    Latency stress test on PSD server
    AIR CPU Utilization: 80+% -> 20%

🚧 Fixed

  • Fixed latency format in air_tui to float type if the value is one digit number
  • Fixed a bug in air_tui that ignored STDIN