Suggestions about CIFS single thread limitation (maxing out one cpu core)

Status
Not open for further replies.

esamett

Patron
Joined
May 28, 2011
Messages
345
a recent posting stated that CIFS is single threaded and therefore uses only one CPU core. Except for this issue I am very happy using CIFS for my home network. Any suggestions or future hopes?

Thanks,
 

headconnect

Explorer
Joined
May 28, 2011
Messages
59
Just going to pre-emptively add my support for this thread - I'll soon be in the scenario where i'll have good amount of storage and memory, with an obvious bottleneck in cpu performance - so any extra little bit that can be squeezed out and turned into some sort of 'best practice for CIFS configuration' document would be brilliant.

While I don't think there's /much/ we can do (been googling a bit, finding the same issues since 2002 on OpenSolaris among other OS's), there must be _something_
 

esamett

Patron
Joined
May 28, 2011
Messages
345
Multi core processors are becoming the norm these days. those of us using CIFS will be leaving lots of cpu power idle. (we never are satisfied, are we...)
 

headconnect

Explorer
Joined
May 28, 2011
Messages
59
Thanks matthew - it definetely sheds some more light on the issue, clears a few things up from those of us not used to having *nix fileservers, and gives us a bit of substance from which to start working :)
 

esamett

Patron
Joined
May 28, 2011
Messages
345
"civilian" users such as myself are looking for seamless functionality similar to a windows networking environment. ftp doesn't fit this particular bill. any other idea?
 

headconnect

Explorer
Joined
May 28, 2011
Messages
59
..been testing out NFS support in win7 ('services for network file systems (NFS)' which can be added through Control Panel->Programs and Features->Turn Windows Features On or Off) just for this scenario (fearing i could end up with superslow CIFS performance) - so far I've managed to get it mapped nicely, I'm just messing up with the partitions i think. This isn't exactly 'out-of-the-box' simplicity, but if you have a fixed set of machines, it should be possible to manage this fairly seamlessly. I'm still betting on getting decent enough performance over CIFS though :)
 

esamett

Patron
Joined
May 28, 2011
Messages
345
A "how I did it" tutorial would be a terrific posting when possible. I am also still heavily into WinXP and so would need to be able to use with XP and 7. Thanks in advance.
 

headconnect

Explorer
Joined
May 28, 2011
Messages
59
As you can tell, I'm in no position for a 'proper' how-to since I'm really only starting out with NFS :) However, i used this guide: http://sagehacks.wordpress.com/2009/01/21/howto-mount-nfs-shares-under-windows-7/ to configure the ability to do so for windows 7.

For winXP (or anything earlier than win2k3) i found on the ubuntu forums a link to SFU and a short guide: http://ubuntuforums.org/showthread.php?t=310168

The link in the guide doesn't work (kindly redirects you to a page describing case studies for migration from *nix to windows, starting off with the case study of how microsoft proudly migrated Hotmail in '97 from freebsd+apache to win2000+IIS 5.0.. *shudder*), so use this instead: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=896c9688-601b-44f1-81a4-02878ff11778

That should at least get you started on the client side for playing around with NFS
 

esamett

Patron
Joined
May 28, 2011
Messages
345
Yikes!

"He is victorious who knows when to fight, and when not to fight."
- Sun Tzu, "The Art of War"
 

esamett

Patron
Joined
May 28, 2011
Messages
345
I remember the fast hardware was a 4.7MHz 8bit CPU in a box that cost $4000, had 16kb of ram and a single-sided floppy disk drive. Once we upgraded the ram and floppy disk drives WordStar did word processing about as well as Office 2011. It even did spell-check.
 
I

ixdwhite

Guest
For the record the per-core limit on CIFS is _per-connection_, so one client (at least on Windows Server 2008 it uses one connection per system) will be core-speed bound but 8 clients should be able to fully utilize their own cores, assuming there is sufficient disk and network bandwidth. CIFS AIO helps performance if there are multiple streams per client.

The NFS server parallelizes well; performance problems are on the client side.

Even being single-core bound I can push multi-gig-e speeds from a single Xeon E5620 CPU with FreeNAS to a dual Xeon X5570 Windows client over 10GbE, and a E5620 is pretty low end for the Xeon line.

If your server is an Atom then you will get the performance you paid for ;-)
 

esamett

Patron
Joined
May 28, 2011
Messages
345
Athlon 5000 dual core, 4gb single channel ddr2 ram.
 

jenksdrummer

Patron
Joined
Jun 7, 2011
Messages
250
I remember the fast hardware was a 4.7MHz 8bit CPU in a box that cost $4000, had 16kb of ram and a single-sided floppy disk drive. Once we upgraded the ram and floppy disk drives WordStar did word processing about as well as Office 2011. It even did spell-check.

...and this was 25 years ago...


Amazing how far technology has gotten...lol! :)
 

jenksdrummer

Patron
Joined
Jun 7, 2011
Messages
250
I've got gigabit from my FreeNAS box to my desktop (win 7pro x64), and I can saturate it (99% utilization) in both directions on large file transfers, on smaller transfers, the bottleneck is my desktop's HDD (Western Digital 2nd gen 10K SATA drive), as I can see it's hitting 99% usage and the network slows to compensate. That system is no slouch - quadcore 3.0ghz core-2 series, G31Express/ICH7 chipset and 4GB of DDR2 667MHz RAM.

The FreeNAS box is a HP MicroServer with a dual core AMD 1.6GHz low-voltage/laptop integrated CPU (AMD's version of the Atom, actually), 8GB of DDR3 ECC RAM, and 4x Western Digital WD20EARS drives.

In terms of CIFS vs MS-network performance, CIFS is proving better than MS, at least with this system. I used a Software RAID5 (which should be less intensive than using ZFS RAID-Z1) and let the thing resync for 4 days before it completed...and got only 70-75% the performance.

In that regard, well done FreeNAS! :)
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,995
I have maxed out my 1Gbit bandwidth using CIFS. Here is a shot from last night and all throughput was going directly to the FreeNAS box. I forgot to capture the FreeNAS Reporting screen graph before I went to bed during my testing of the latest version.
Throughput1.JPG

This was writing to the FreeNAS box from two drives (SSD and normal HD) transferring about 640GB of data. Transferring data from the NAS to my computer SSD was just over half as fast. I can see the limitation is on the RAIDZ at this point and my drives in the NAS. Sorry, no snapshot of that one but I was hoping for a little bit better. More testing will go on.

-Mark
 
Status
Not open for further replies.
Top