July 2008

Ever wondered why smbfs support is about to be removed from kernel source tree? Ever wondered what cifs is and what it's useful for? Ever wondered why algorithms are that important in your daily life? Ever wondered why you have to avoid using deprecated stuff? If you have one these questions in mind, then continue reading the following story which I think you would find the answer to most of the questions which you have in your mind there.

A network file system is any computer file system that supports sharing of files, printers and other resources as persistent storage over a computer network. The first file servers were developed in the 1970s, and in 1985 Sun Microsystems created the file system called "Network File System" (NFS) which became the first widely used network file system. Other notable network file systems are Andrew File System (AFS), NetWare Core Protocol (NCP), and Server Message Block or SMB which is also known as Common Internet File System (CIFS).


Short for Common Internet File System, a protocol that defines a standard for remote file access using millions of computers at a time. With CIFS, users with different platforms and computers can share files without having to install new software.

CIFS runs over TCP/IP but uses the SMB (Server Message Block) protocol found in Microsoft Windows for file and printer access; therefore, CIFS will allow all applications, not just Web browsers, to open and share files across the Internet.

With CIFS, changes made to a file are simultaneously saved on both the client and server side.


The Story

Today I had to copy some files to a laptop, which was running on a Windows over my internal home network so I thought using smbfs as the main protocol behind SMB for interacting with the computer would be the easiest way to do the trick. I had some experiences before with smbfs behind SMB, But when I mounted the remote file system with smbmount I encountered the following message:


smbfs is deprecated and will be removed from the 2.6.27 kernel. Please migrate to cifs.


That was how I got into testing cifs to see how it does in the action. I had to re-compile my kernel first in order to use cifs, so I enabled the nifty kernel feature for cifs and emerged mount-cifs package as well. What I had in mind was to transfer files with medium amount of size and put both of the above into some real tension and stress; then comparing the final results. It was an interesting benchmark and results were even more impressing.

Test Setup

It would be useful if I give you an acceptable in-details information about the environment over which the test was done.


First box running on Windows XP Home Edition, having a National Semiconductor DP83815-Based PCI Fast Ethernet Adapter connected using a normal CAT5-E cable with the length of ~15-20 meters.

Second box running on Gentoo 2008.0 (Linux ws1 2.6.25-gentoo-r6 #16 SMP Thu Jul 17 16:57:30 IRDT 2008 x86_64 AMD Athlon™ 64 X2 Dual Core Processor 4400+ AuthenticAMD GNU/Linux) having an nVidia Corporation CK804 Ethernet Controller also connected using a normal CAT5-E cable with the length of ~3 meters. (forcedeth kernel driver used)

D-Link 10/100 Fast Ethernet Switch, DES-1005D.

The Benchmark

I tried to transfer several files with different sizes to get better and more-reliable results.


After taking a brief look at the final results, I realized why they are insisting on smbfs deprecation and their intention on removing it completely to replace it with cifs as the main protocol behind SMB.

transferring of 14 files with total size of 616469224 bytes took around 1 minute and 51 seconds using smbfs whilst it took only 1 minute and 4 seconds with cifs which was quite an interesting result. Consider all the network supplements and tools where the same. To me it was another proof for the fact that algorithms and protocol improvements and their implementations play an irrefutable role in computing science and that why you have to avoid using deprecated stuff. Thus you can save CPU cycles and time without purchasing new network peripherals and devices.

Benchmark Result Files


In the end taking a look at the following documentations wouldn't hurt.


But why would I want to do a thing like that? I chose not to choose life. I chose somethin' else. And the reasons? There are no reasons. Who needs reasons when you've got heroin?

-- Mark "Rent-boy" Renton, Trainspotting by Irvine Welsh
17 July 08 | 1 comments
Couple of days ago, I accidentally ran into a new twitter-like service named Identi.ca referenced by slashdot news. For those of you who haven't yet experienced microblogging services like twitter I strongly encourage you to read this article and Wikipedia's Link as well.


It’s hard to say anything useful in 140 characters. But it is fun!


Identi.ca is a microblogging service not so very much different from twitter and bunch of others available around the net except for the idea of using an opensource tool called Laconica for it's running engine under the hood. It would be probably worthwhile if you take a brief look at Laconica anyway.


It was the second or the third day of identi.ca when I first registered for an account and started to post notices there to do some investigation and I somehow got the feeling of "Hey! I like this service more than twitter" and that in turn made me think why? If I should give a name to it, Identi.ca is in fact a microblogging service like twitter but in the geeks way. Due to the fact that Identi.ca is passing it's age of preparation you shouldn't expect a fully functional feature-rich system, yet a just-works-fine service as it is. Registration is easy, so scratch your itch. There is also a ping.fm service available which you can post to multiple of your microblogging and other services simultaneously with one update using it's web-interface and instant messaging, so don't worry if you have bunch of services at the same time.


That was how I got familiar with Identi.ca. You might very probably like to get used to microblogging services specially geek styled ones like this. So here it is, my very own profile at Identi.ca.


Also consider reading the following links:




As an update, it would be worthy to mention that Identi.ca uses PEAR package (Validate) which AmirMohammad Saied is one of it's lead developers, totally irrelevant to the fact that I really like Identi.ca


--


Choose Life. Choose a job. Choose a career. Choose a family. Choose a fucking big television, choose washing machines, cars, compact disc players and electrical tin openers. Choose good health, low cholesterol, and dental insurance. Choose fixed interest mortage repayments. Choose a starter home. Choose your friends. Choose leisurewear and matching luggage. Choose a three-piece suite on hire purchase in a range of fucking fabrics. Choose DIY and wondering who the fuck you are on a Sunday morning. Choose sitting on that couch watching mind-numbing, spirit-crushing game shows, stuffing fucking junk food into your mouth. Choose rotting away at the end of it all, pishing your last in a miserable home, nothing more than an embarrassment to the selfish, fucked up brats you spawned to replace yourself. Choose your future. Choose life.


-- from Trainspotting by Irvine Welsh
16 July 08 | 1 comments

« Back to my homepage

Categories

Blog Archives

Search

Friends

Hamidreza Davoodi
Ebrahim Mohammadi Panah
Omid Mottaghi
Amir Mohammad Saeid
Alan Baghumian
Kaveh Razavi
Siavash Safi
Omid Fathi
Sara Amirahmadi
Emil Sedgh
Sasan Rose
Ali Sattari
Pedram Azimaie
Milad Raastian
Vahid Rafiei
Mohsen Pahlevanzadeh
Bahram Siyaadati
Armen Baghumian
Mola Pahnadayan
Abbas Esmaeeli
Behnam Behjatmarandi
Nima Mohammadi
Navid Paya
Saied Taghvi
Hossein Mortazavi

Read List

UNIX Systems Programming: Communication, Concurrency and Threads (2nd Edition) Advanced Linux Programming (Landmark)

Professional Assembly Language (Programmer to Programmer) Operating Systems Design and Implementation (3rd Edition) (Prentice Hall Software Series)

    Feeds

    rss
    atom

    Last.fm