Closed MadPlayer closed 3 years ago
@kjhnet 교수님 기존 rlu benchlist 에서 thread 수 증가에 따라 성능이 반비례하던 문제가 해결된 것으로 보입니다. cpu affinity 설정을 해주었더니 성능이 크게 증가하지는 않지만 thread 수 증가에 따라 성능이 증가합니다.
SeaBIOS (version 1.13.0-1ubuntu1.1)
iPXE (http://ipxe.org) 00:03.0 CA00 PCI2.10 PnP PMM+7FF8C860+7FECC860 CA00
xv6 e820: 0x0000000000000000-0x000000000009fbff usable e820: 0x000000000009fc00-0x000000000009ffff reserved e820: 0x00000000000f0000-0x00000000000fffff reserved e820: 0x0000000000100000-0x000000007ffdefff usable e820: 0x000000007ffdf000-0x000000007fffffff reserved e820: 0x00000000fffc0000-0x00000000ffffffff reserved Scrubbed memory map: phys: 0x0000000000100000-0x000000007ffdefff ACPI: RSDP 0xf59b0 00014 (v0 BOCHS ) ACPI: RSDT 0x7ffe17ad 00034 (v1 BOCHS BXPCRSDT 00000001 BXPC 00000001) ACPI: FACP 0x7ffe1561 00074 (v1 BOCHS BXPCFACP 00000001 BXPC 00000001) ACPI: DSDT 0x7ffe0040 01521 (v1 BOCHS BXPCDSDT 00000001 BXPC 00000001) ACPI: FACS 0x7ffe0000 00040 ACPI: APIC 0x7ffe15d5 00090 (v1 BOCHS BXPCAPIC 00000001 BXPC 00000001) ACPI: HPET 0x7ffe1665 00038 (v1 BOCHS BXPCHPET 00000001 BXPC 00000001) ACPI: SRAT 0x7ffe169d 00110 (v1 BOCHS BXPCSRAT 00000001 BXPC 00000001) xapic: Using xAPIC LAPIC xapic: Initializing LAPIC (CPU 0) acpi: NUMA node 0: cpus 0 2 mem 0-0x9ffff 0x100000-0x3fffffff acpi: NUMA node 1: cpus 1 3 mem 0x40000000-0x7fffffff acpi: Initializing CPUs acpi: CPU 0 APICID 0 acpi: CPU 1 APICID 1 acpi: CPU 2 APICID 2 acpi: CPU 3 APICID 3 kalloc: pageinfo map has 2 entries using formula (pa+0x7fffffffbffae000) >> 63 acpi: Initializing IOAPICs ioapic: IOAPIC version 0x20 for IRQs 0..23 at 0xfec00000 ioapic: Routing IRQ 4 (rising edge) to APICID 0 hpet: At 0xfed00000, revision 1, period 10 nsec, 3 timers kalloc: 843 MB available in node 0 (metadata: 127 kB, waste: 2.0 kB) kalloc: 949 MB available in node 1 (metadata: 127 kB, waste: 2.0 kB) ioapic: Routing IRQ 1 (rising edge) to APICID 0 initsamp: Unknown manufacturer AcpiOsInstallInterruptHandler not implemented (9, 0xffffffffc01a62a0, 0xffffff000b4e3d48) acpi: Using ACPI for PCI root enumeration pci: Scanning bus 0 e1000: Found 82540EM (desktop) e1000: Waiting for link to come up e1000: Link up at 1000 Mb/s full-duplex acpi: Resolving IRQ of 00:03.00 pin A acpi: PCI device 00:03.00 has ACPI handle _SB.PCI0.S18_ acpi: Found PRT on _SB.PCI0 acpi: Matching entry: PRT{Pin=A Address=0x3ffff SourceIndex=0 Source=_SB.LNKC} acpi: Enabling PCI link _SB.LNKC ioapic: Routing IRQ 11 (level high) to APICID 0 disk_register: memide: 536870912 bytes: memide initdisk: Flashing the filesystem image on the memdisk(s) Writing block 131072 / 131072 Writing blocks ... done! (0 seconds) xapic: Initializing LAPIC (CPU 1) xapic: Initializing LAPIC (CPU 2) xapic: Initializing LAPIC (CPU 3) init complete at Thu Jul 29 4:47:39 2021 $ rlu_benchlist 1 RLU - FINE_GRAINED initialized [max_write_sets = 1] 1 Option is inserted -Nb threads : 1 -Initial size : 32 -Buckets : 1 -Duration : 1000 -Update rate : 200 -range : 64 -Set type : hash-list initialize 32 nodes...done Creating 1 threads... done! join 1 threads... thread 0 end done!
Thread 0
Set size : 35 (expected: 35) Duration : 1000 (ms)
benchlist end $ rlu_benchlist 2 RLU - FINE_GRAINED initialized [max_write_sets = 1] 1 Option is inserted -Nb threads : 2 -Initial size : 32 -Buckets : 1 -Duration : 1000 -Update rate : 200 -range : 64 -Set type : hash-list initialize 32 nodes...done Creating 2 threads... done! join 2 threads... thread 0 end thread 1 end done!
Thread 0
Thread 1
Set size : 34 (expected: 34) Duration : 1000 (ms)
benchlist end $ rlu_benchlist 3 RLU - FINE_GRAINED initialized [max_write_sets = 1] 1 Option is inserted -Nb threads : 3 -Initial size : 32 -Buckets : 1 -Duration : 1000 -Update rate : 200 -range : 64 -Set type : hash-list initialize 32 nodes...done Creating 3 threads... done! join 3 threads... thread 1 end thread 0 end thread 2 end done!
Thread 0
Thread 1
Thread 2
Set size : 29 (expected: 29) Duration : 1000 (ms)
benchlist end $ rlu_benchlist 4 RLU - FINE_GRAINED initialized [max_write_sets = 1] 1 Option is inserted -Nb threads : 4 -Initial size : 32 -Buckets : 1 -Duration : 1000 -Update rate : 200 -range : 64 -Set type : hash-list initialize 32 nodes...done Creating 4 threads... done! join 4 threads... thread 3 end thread 1 end thread 2 end thread 0 end done!
Thread 0
Thread 1
Thread 2
Thread 3
Set size : 35 (expected: 35) Duration : 1000 (ms)
benchlist end $ halt (base) madplayer@madplayer-WS60-7RJ:~/GIT/mvcc-os/os/scalefs (scalefs) ┃ ┗ $
새로 pull request 하겠습니다