Improving performance of old multi-core hardware

Forum Forums New users New Users and General Questions Improving performance of old multi-core hardware

This topic contains 6 replies, has 4 voices, and was last updated by skidoo Mar 15-5:18 pm.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #7733
    Member
    mroot
    mroot

    On the forum there is quite a bit of information on reducing cpu load and/or ram usage on old hardware. But what about old hardware that has multiple cores or threads available but each individual core isn’t really fast? Old i7 core processors, old xeon processors fall in this category. What can you do in this cases to increase performance?

    1. Should you change from firefox to chromium/opera/slimjet to increase the number of threads used?

    2. Are there versions of software that utilize multi-cores?

    3. Are there other configuration changes that can increase performance?

    -mroot

    • This topic was modified 6 months, 2 weeks ago by mroot.
    #7737
    Member

    skidoo

    1) Go ahead and collect anecdotal observations but at the end of the day… YMMV, based on your hardware specifics.
    (can only be determined by you, testing on your hardware, A/B testing by visiting the same set of websites with each browser tested.)

    2) If you compile a given program from source, you might find some configurable build options which would optimize the program’s performance ~~ performance in general (like, avoid building/loading optional component that you personally don’t value, wont use) or performance specific to your hardware platform. We can expect that pre-packaged software is either designed (coded) to perform threaded operations… or not. In other words, no special/distinct versions. For a non-threaded program to become threaded, the program needs to be rewritten. Such advancement generally happens across versions, as a natural course.

    The linux kernel scheduler already balances, distributes the load across cores.
    If you have a misbehaving program, and care to tinker with manipulating/enforcing process affinity for that program…
    apt-get install schedutils
    and read the manpage for the “taskset” command

    Some other tools for per-process management:

    man cpulimit and https://www.howtoforge.com/how-to-limit-cpu-usage-of-a-process-with-cpulimit-debian-ubuntu
    (specify a cap, a maximum, when launching a process)

    man nice (launch a program with higher, or lower, scheduling priority)

    man renice (target the processID of a currently-running process, reassign its cheduling priority)
    ^—– “mate-system-monitor” and similar, provide a GUI where you can right-click a selected process, by name, renice it.

    3) Yeah, let’s collect a list of tweaks (and post links to earlier topics).
    (A lot of ’em, when tested, turn out to be exercises in micro-management with little or no noticeable benefit, though.)

    On “old hardware”, disk I/O is often a noticeable bottleneck.
    antiX is (and most desktop-oriented distros are) configured to mount the / filesystem using “noatime” or “lazyatime” mount option.

    #7753
    Member
    poorguy
    poorguy

    On the forum there is quite a bit of information on reducing cpu load and/or ram usage on old hardware. But what about old hardware that has multiple cores or threads available but each individual core isn’t really fast? Old i7 core processors, old xeon processors fall in this category.

    -mroot

    i7 core processors are considered old. Hmm…

    My Pentium D 820 Smithfield processor must be considered prehistoric then.

    I can see where some Xeon processors could be considered old but an i7 core processor, I don’t know about that, perhaps it’s just me.

    I have a laptop with an i7 core processor uncertain which one it is although I wouldn’t consider it to be old but then I’m still using a Pentium D 820 Smithfield.

    Ain’t trying to start no argument just ain’t caught up to the times yet and thinking out loud.

    Interesting though.

    • This reply was modified 6 months, 2 weeks ago by poorguy.

    Under certain circumstances, profanity provides a relief denied even to prayer.
    (Mark Twain)

    Inspiration can be found in a pile of junk. Sometimes, you can put it together with a good imagination and invent something.
    (Thomas Edison)

    #7757
    Forum Admin
    rokytnji
    rokytnji

    Sata ssd drives. Run trim manually. It pays to check if sata drive is trim capable 1st. Here is the manual commands to run trim.
    To trim home partition the command is
    fstrim -v /home
    To trim root partition the command is
    fstrim -v /

    To see if ssd is trim capable , I mention this because a couple of my atom ide ssd drives are not trim capable.

    hdparm -I /dev/ssdname,

    replacing “ssdname” with the name of your SSD. That is usually /dev/sda. It should be mounted. Gparted will supply some info on mount. Name of ssd can be found this way. By the way. In Terminal. Trim and /etc/fstab can take up it’s own thread. I am just showing how to do this manually. Instead of during bootup. Using root terminal in Antix.

     parted -l
    Model: ATA KINGSTON SV300S3 (scsi)
    Disk /dev/sda: 60.0GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags: 
    
    Number  Start   End     Size    Type     File system  Flags
     2      1049kB  8390MB  8389MB  primary  ext4
     1      8390MB  60.0GB  51.6GB  primary  ext4
    
    
    
     hdparm -I /dev/sda
    
    /dev/sda:
    
    ATA device, with non-removable media
    	Model Number:       KINGSTON SV300S37A60G                   
    	Serial Number:      50026B7743028DAC    
    	Firmware Revision:  521ABBF0
    	Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
    Standards:
    	Used: unknown (minor revision code 0x0110) 
    	Supported: 8 7 6 5 
    	Likely used: 8
    Configuration:
    	Logical		max	current
    	cylinders	16383	16383
    	heads		16	16
    	sectors/track	63	63
    	--
    	CHS current addressable sectors:    16514064
    	LBA    user addressable sectors:   117231408
    	LBA48  user addressable sectors:   117231408
    	Logical  Sector size:                   512 bytes
    	Physical Sector size:                   512 bytes
    	Logical Sector-0 offset:                  0 bytes
    	device size with M = 1024*1024:       57241 MBytes
    	device size with M = 1000*1000:       60022 MBytes (60 GB)
    	cache/buffer size  = unknown
    	Nominal Media Rotation Rate: Solid State Device
    Capabilities:
    	LBA, IORDY(can be disabled)
    	Queue depth: 32
    	Standby timer values: spec'd by Standard, with device specific minimum
    	R/W multiple sector transfer: Max = 16	Current = 16
    	Advanced power management level: 254
    	DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
    	     Cycle time: min=120ns recommended=120ns
    	PIO: pio0 pio1 pio2 pio3 pio4 
    	     Cycle time: no flow control=120ns  IORDY flow control=120ns
    Commands/features:
    	Enabled	Supported:
    	   *	SMART feature set
    	    	Security Mode feature set
    	   *	Power Management feature set
    	   *	Write cache
    	    	Look-ahead
    	   *	Host Protected Area feature set
    	   *	WRITE_BUFFER command
    	   *	READ_BUFFER command
    	   *	NOP cmd
    	   *	DOWNLOAD_MICROCODE
    	   *	Advanced Power Management feature set
    	    	Power-Up In Standby feature set
    	   *	SET_FEATURES required to spinup after power up
    	    	SET_MAX security extension
    	   *	48-bit Address feature set
    	   *	Mandatory FLUSH_CACHE
    	   *	FLUSH_CACHE_EXT
    	   *	SMART error logging
    	   *	SMART self-test
    	   *	General Purpose Logging feature set
    	   *	WRITE_{DMA|MULTIPLE}_FUA_EXT
    	   *	64-bit World wide name
    	   *	IDLE_IMMEDIATE with UNLOAD
    	    	Write-Read-Verify feature set
    	   *	{READ,WRITE}_DMA_EXT_GPL commands
    	   *	Segmented DOWNLOAD_MICROCODE
    	   *	unknown 119[6]
    	   *	Gen1 signaling speed (1.5Gb/s)
    	   *	Gen2 signaling speed (3.0Gb/s)
    	   *	Gen3 signaling speed (6.0Gb/s)
    	   *	Native Command Queueing (NCQ)
    	   *	Phy event counters
    	   *	NCQ priority information
    	   *	READ_LOG_DMA_EXT equivalent to READ_LOG_EXT
    	   *	DMA Setup Auto-Activate optimization
    	    	Device-initiated interface power management
    	   *	Software settings preservation
    	   *	SMART Command Transport (SCT) feature set
    	   *	SCT Write Same (AC2)
    	   *	SCT Data Tables (AC5)
    	   *	reserved 69[3]
    	   *	DOWNLOAD MICROCODE DMA command
    	   *	SET MAX SETPASSWORD/UNLOCK DMA commands
    	   *	WRITE BUFFER DMA command
    	   *	READ BUFFER DMA command
    	   *	Data Set Management TRIM supported (limit 1 block)
    Security: 
    	Master password revision code = 65534
    		supported
    	not	enabled
    	not	locked
    		frozen
    	not	expired: security count
    		supported: enhanced erase
    	2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.
    Logical Unit WWN Device Identifier: 50026b7743028dac
    	NAA		: 5
    	IEEE OUI	: 0026b7
    	Unique ID	: 743028dac
    Checksum: correct
    <code></code>
    
    
    fstrim -v /
    /: 4.1 GiB (4359647232 bytes) trimmed<code></code>
    
    fstrim -v /home
    /home: 27 GiB (29034389504 bytes) trimmed

    Depending on speed of laptop and speed of ssd drive. You have to be patient and wait for it to finish. Mine takes about 40 seconds. YMMV from mine.

    • This reply was modified 6 months, 2 weeks ago by rokytnji.

    Beer, Bikes, and BBQ. It's what we do
    Linux Registered User # 475019
    How to Search for AntiX solutions to your problems

    #7775
    Member
    mroot
    mroot

    Okay if disk I/O is the limiting factor Roky’s suggestion to get a ssd drive sounds good. At least a small cheap one to house the OS and speed up load times for typical desktop applications.

    However, an old xeon workstation has quite bit of memory. A stripped system will have 4 gigs of ram, 8-16 is common and a fair number have 32 gigs. In that case couldn’t you just load everything to ram and use suspend to keep it in ram when your not using the system? The ram is going to be faster than the ssd right?

    For games where disk I/O is mainly important only on initial load a ssd drive will probably only give a limited increase in performance.

    As far as a computer being old or new, fast or slow it’s all relative. A Pentium D is super new/fast compared to my old Pentium 133mhz, 32mb system. Which is super new/fast compared to the ILLIAC I my mother’s uncle worked on. It had 4k memory and thousands of vacuum tubes. But it was a super computer in the 1950s.

    I am seeing a fair number of old xeon workstations come up for sale. They have processors like the xeon e3-1230 and the xeon e5-1650 which give performance similar to i7s of their processor generation. It seems they would make useful systems especially if you already have a monitor and a keyboard. Of course maybe I am just spending too much time on ebay 🙂

    -mroot

    #7829
    Member
    poorguy
    poorguy

    As far as a computer being old or new, fast or slow it’s all relative. A Pentium D is super new/fast compared to my old Pentium 133mhz, 32mb system.

    -mroot

    This is what I said about the Xeon processors: I can see where some Xeon processors could be considered old

    Wasn’t referring to or comparing to old Pentium 133mhz, 32mb system.

    You posted in post #7733: Old i7 core processors and that is what I was referring to as I can’t see any i7 core processor being old or slow.

    Perhaps I’m misunderstanding your statement Old i7 core processors.

    As mentioned not trying to argue or start a battle merely a comment.

    poorguy

    Under certain circumstances, profanity provides a relief denied even to prayer.
    (Mark Twain)

    Inspiration can be found in a pile of junk. Sometimes, you can put it together with a good imagination and invent something.
    (Thomas Edison)

    #7831
    Member

    skidoo

    but each individual core isn’t really fast? Old i7 core processors, old xeon processors fall in this category.
    In my earlier reading, that statement registered as “The older i7 Core series, along with the older xeon processors, fall into this category.” Anyhow…

    a Pentium D is
    ^— Maybe even that is too broad a designation to compare across. Following from poorguy’s example (Smithfield series), the budget-priced SKU was gimped ~~ it had a 533(?566) FSB, compared to all the other SKUs in the series, which had 800 meggalalalahurtz FSB. This, and similar marketing shenanigans through the years, has fueled folks’ belief that “faster CPU hurtz is much gooder” when, in fact, cpu freq is seldom the limiting factor when dealing with typical desktop PC workloads. IIRC, if the mobo of a Smithfield -based system had 2 RAM banks, populating both banks (pairs, same speed) gave a slight, yet noticeable, performance boost. Making use of both SATA1 controllers — vs copying from same-to-same drive — netted a huge performance increase (but how much of your day is spent copying files, eh).

    > the xeon e5-1650 […] similar to i7s of their processor generation
    As a gratis hand-me-down, okay. I would consider ’em unappealing to buy used, and/or to run 24×7, due to their relatively high power consumption.

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.