Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Sep 2001 16:32:47 GMT
From:      "J. Goodleaf" <john@goodleaf.net>
To:        stable@freebsd.org
Subject:   Re: make -j4 vs -j8... 4 works, but 8 does not
Message-ID:  <20010920163247.8064D5C74@clyde.goodleaf.net>
In-Reply-To: <20010920153546.8D69937B411@hub.freebsd.org> 
References:  <200109170009.f8H09Y921584@gits.dyndns.org> <20010920153546.8D69937B411@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
I'm sorry to interject into this cool benchmark discussion. I have a 
non-critical issue relating to this. I have a dual PII 350 machine with 256 
RAM (once badass, now...) Interestingly, make -j4, 6, 8 all return errors 
while building the perl libraries. make -j10, however, works flawlessly. I'm 
not really alarmed by this, but I am curious. Any ideas? (Sadly, I did not 
keep the error log from my last attempt, or  I would have attached it.)

 -John 

Gerald A.Speak writes: 

> On Sunday 16 September 2001 08:09 pm, Cyrille Lefevre wrote:
>> Erik Trulsson wrote:
>> > On Sat, Sep 15, 2001 at 06:06:10PM -0400, Garance A Drosihn wrote:
>> > > [aside on those multiple builds that I did:  It was interesting that
>> > > even though it was on a dual-processor system, there was not much of
>> > > a speed improvement (on 4.3-stable) when going from -j4 to -j10.  Big
>> > > improvement going from -j1 to -j4, but after that it didn't help much]
>> >
>> > That sounds exactly like what I would expect. More than 2 (or maybe 3)
>> > jobs per CPU is normally not going to make things go faster but might
>> > actually slow it down. 
>>
>> I'm not right w/ you. let's try : 
>>
>> # setup a reusable environment
>> cd /sys/compile/MYKERNEL
>> make depend
>> make
>> # run the jobs
>> for i in 1 2 4 8; do
>> 	(date;touch opt_global.h;time make -j$i all;date) >| .j$i 2>&1
>> done 
>>
>> results are (on my old P200 processor) : 
>>
>> j1	12:36
>> j2	12:46
>> j4	11:36
>> j8	11:21 
>>
>> so, for a 12 min job, you could win 1 min using -j4, which may gives
>> you 1 hour for a 12 hours job (such as buildworld :). ok, it's not so
>> many, but that may help a lot. for instace, I currently use -j4 since
>> -j8 is too CPU and memory intensive (the machine slow down significally). 
>>
>> PS : I'm using SCSI disks. using IDE disks probably gives you different
>> results. I/O are very differents between the two. 
>>
>> Cyrille.
>  
> 
> I had some time to spend and came up with the following results for doing 
> make build world.  Before each build I made sure that /usr/obj/ was empty. 
> 
> time make buildworld...
> 1800.325u 818.652s 44:35.38 97.8%       1322+1456k 9130+5803io 555pf+0w 
> 
> time make -j 2 buildworld ...
> 1852.919u 957.381s 44:09.71 106.0%      1305+1471k 9231+5677io 555pf+0w 
> 
> time make -j 4 buildworld ...
> 1881.497u 965.330s 36:17.07 130.7%      1314+1472k 9307+6329io 626pf+0w 
> 
> time make -j 6 buildworld ...
> 1884.092u 973.077s 35:25.23 134.4%      1314+1473k 9246+6096io 555pf+0w 
> 
> time make -j 8 buildworld ...
> 1879.997u 977.772x 35:27.64 134.3%      1310+1469k 9240+6310io 555pf+0w 
> 
> As you can see there was only a matter of a couple minutes improvement when 
> using -j 8 instead of -j 4. 
> 
> The build machine is a Dual PIII 1000, with 1GB RAM and SCSI Ultra160 Drive 
> (too bad FreeBSD only runs the Adaptec 29160N at 80MHz.
> dmesg below for those interested. 
> 
> Copyright (c) 1992-2001 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
> 	The Regents of the University of California. All rights reserved.
> FreeBSD 4.4-STABLE #0: Thu Sep 20 10:17:57 EDT 2001
>     gaspeak@sampson.gaspeak-p-va.prestige.net:/usr/obj/usr/src/sys/SAMPSON
> Timecounter "i8254"  frequency 1193182 Hz
> CPU: Pentium III/Pentium III Xeon/Celeron (1004.50-MHz 686-class CPU)
>   Origin = "GenuineIntel"  Id = 0x68a  Stepping = 10
>   
> Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
> real memory  = 1073725440 (1048560K bytes)
> config> q
> avail memory = 1041256448 (1016852K bytes)
> Programming 24 pins in IOAPIC #0
> IOAPIC #0 intpin 2 -> irq 0
> FreeBSD/SMP: Multiprocessor motherboard
>  cpu0 (BSP): apic id:  3, version: 0x00040011, at 0xfee00000
>  cpu1 (AP):  apic id:  0, version: 0x00040011, at 0xfee00000
>  io0 (APIC): apic id:  2, version: 0x00178011, at 0xfec00000
> Preloaded elf kernel "kernel" at 0xc0464000.
> Preloaded userconfig_script "/boot/kernel.conf" at 0xc046409c.
> Preloaded elf module "splash_bmp.ko" at 0xc04640ec.
> Preloaded elf module "vesa.ko" at 0xc0464190.
> Preloaded splash_image_data "/boot/splash.bmp" at 0xc046422c.
> Preloaded elf module "vn.ko" at 0xc046427c.
> Preloaded elf module "snd_es137x.ko" at 0xc0464318.
> Preloaded elf module "snd_pcm.ko" at 0xc04643bc.
> Preloaded elf module "usb.ko" at 0xc046445c.
> Preloaded elf module "ugen.ko" at 0xc04644f8.
> Preloaded elf module "uhid.ko" at 0xc0464594.
> Preloaded elf module "ulpt.ko" at 0xc0464630.
> Preloaded elf module "ums.ko" at 0xc04646cc.
> Preloaded elf module "umass.ko" at 0xc0464768.
> Preloaded elf module "uscanner.ko" at 0xc0464808.
> Preloaded elf module "agp.ko" at 0xc04648a8.
> Preloaded elf module "vpo.ko" at 0xc0464944.
> VESA: v3.0, 16384k memory, flags:0x1, mode table:0xc0338437 (1000117)
> VESA: 3dfx Interactive, Inc.
> Pentium Pro MTRR support enabled
> md0: Malloc disk
> Using $PIR table, 7 entries at 0xc00f12d0
> npx0: <math processor> on motherboard
> npx0: INT 16 interface
> pcib0: <Host to PCI bridge> on motherboard
> IOAPIC #0 intpin 18 -> irq 2
> IOAPIC #0 intpin 17 -> irq 5
> IOAPIC #0 intpin 16 -> irq 9
> IOAPIC #0 intpin 19 -> irq 10
> pci0: <PCI bus> on pcib0
> agp0: <VIA 82C691 (Apollo Pro) host to PCI bridge> mem 0xf8000000-0xfbffffff 
> at device 0.0 on pci0
> pcib2: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on 
> pci0
> pci1: <PCI bus> on pcib2
> pci1: <3Dfx Voodoo 3 graphics accelerator> at 0.0 irq 9
> isab0: <VIA 82C686 PCI-ISA bridge> at device 4.0 on pci0
> isa0: <ISA bus> on isab0
> atapci0: <VIA 82C686 ATA100 controller> port 0xb800-0xb80f at device 4.1 on 
> pci0
> ata0: at 0x1f0 irq 14 on atapci0
> ata1: at 0x170 irq 15 on atapci0
> uhci0: <VIA 83C572 USB controller> port 0xb400-0xb41f irq 2 at device 4.2 on 
> pci0
> usb0: <VIA 83C572 USB controller> on uhci0
> usb0: USB revision 1.0
> uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub0: 2 ports with 2 removable, self powered
> uhub1: Microsoft product 0x001c, class 9/0, rev 1.10/5.00, addr 2
> uhub1: 3 ports with 2 removable, bus powered
> uhci1: <VIA 83C572 USB controller> port 0xb000-0xb01f irq 2 at device 4.3 on 
> pci0
> usb1: <VIA 83C572 USB controller> on uhci1
> usb1: USB revision 1.0
> uhub2: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub2: 2 ports with 2 removable, self powered
> pci0: <unknown card> (vendor=0x11d1, dev=0x01f7) at 10.0 irq 2
> pcm0: <AudioPCI ES1370> port 0xa800-0xa83f irq 5 at device 11.0 on pci0
> de0: <Digital 21140A Fast Ethernet> port 0xa400-0xa47f mem 
> 0xf1000000-0xf100007f irq 9 at device 12.0 on pci0
> de0: 21140A [10-100Mb/s] pass 2.2
> de0: address 00:40:05:a2:d8:ea
> ahc0: <Adaptec 29160N Ultra160 SCSI adapter> port 0xa000-0xa0ff mem 
> 0xf0800000-0xf0800fff irq 10 at device 13.0 on pci0
> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/255 SCBs
> pcib1: <Host to PCI bridge> on motherboard
> pci2: <PCI bus> on pcib1
> orm0: <Option ROM> at iomem 0xc0000-0xc9fff on isa0
> fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
> fdc0: FIFO enabled, 8 bytes threshold
> fd0: <1440-KB 3.5" drive> on fdc0 drive 0
> atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
> atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
> kbd0 at atkbd0
> psm0: <PS/2 Mouse> irq 12 on atkbdc0
> psm0: model IntelliMouse Explorer, device ID 4
> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
> sc0: <System console> at flags 0x100 on isa0
> sc0: VGA <16 virtual consoles, flags=0x300>
> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
> sio0: type 16550A
> sio1 at port 0x2f8-0x2ff irq 3 on isa0
> sio1: type 16550A
> ppc0: cannot reserve I/O port range
> ppc1: <ECP parallel printer port> at port 0x3bc-0x3bf,0x7bc-0x7be irq 7 drq 3 
> on isa0
> ppc1: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
> ppc1: FIFO with 16/16/8 bytes threshold
> plip0: <PLIP network interface> on ppbus0
> lpt0: <Printer> on ppbus0
> lpt0: Interrupt-driven port
> ppi0: <Parallel I/O> on ppbus0
> unknown: <PNP0501> can't assign resources
> unknown: <PNP0501> can't assign resources
> unknown: <PNP0700> can't assign resources
> unknown: <PNP0f13> can't assign resources
> unknown: <PNP0303> can't assign resources
> APIC_IO: Testing 8254 interrupt delivery
> APIC_IO: routing 8254 via IOAPIC #0 intpin 2
> SMP: AP CPU #1 Launched!
> ad0: 13042MB <IBM-DPTA-371360> [26500/16/63] at ata0-master UDMA66
> acd0: DVD-ROM <CREATIVEDVD5241E> at ata1-master using PIO4
> Waiting 15 seconds for SCSI devices to settle
> de0: enabling Full Duplex 100baseTX port
> Mounting root from ufs:/dev/da0s2a
> da0 at ahc0 bus 0 target 6 lun 0
> da0: <IBM DDYS-T36950N S96H> Fixed Direct Access SCSI-3 device
> da0: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing 
> Enabled
> da0: 35003MB (71687340 512 byte sectors: 255H 63S/T 4462C)
> cd0 at ahc0 bus 0 target 4 lun 0
> cd0: <YAMAHA CRW8424S 1.0j> Removable CD-ROM SCSI-2 device
> cd0: 20.000MB/s transfers (20.000MHz, offset 15)
> cd0: cd present [1086024 x 512 byte records] 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-stable" in the body of the message
 


=====================
J. Goodleaf
john@goodleaf.net
goodleaj@immunex.com 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010920163247.8064D5C74>