Hi, My name is Dong Zhu from Dalian,China.I am a intern working in Redhat.I am interested in this idea http://fedoraproject.org/wiki/Summer_coding_ideas_for_2012#Implement_nfs.2Ff... The following information is my Proposal of this idea,Could help reviewing it ? Any comments are appreciated.
------------------ 8< ---------------------
Application for Google Summer of Code 2012: Dong Zhu
Contact Information
Email Address: bluezhudong@gmail.com
Telephone: 13840848540
Blog URL: http://bluezd.info
Freenode IRC Nick: bluezd
Why do you want to work with the Fedora Project? First: I am a fedora user,I use the fedora 15 as my Desktop os now. Second: The Fedora Project is a worldwide community,I am eager to participate it and make contribute for it. Third: I have great interesting in opensource,especially Fedora Project.
Do you have any past involvement with the Fedora project or another open source project as a contributor? I am intern working in Redhat as a kernel-qe for almost one year,I test/report many bugs and write a large number of automatic testcases on RHEL.On the other hand I also read the kernel source code,then write some related patch to test the kernel.
Did you participate with the past GSoC programs, if so which years, which organizations? No
Will you continue contributing/ supporting the Fedora project after the GSoC 2012 program, if yes, which team(s), you are interested with? Yes,Of course.I am crazy interested in Linux kernel,filesystem,Power-Management,Timer,Interrupt,I am looking forward to submit patch to the fedora-devel. I think I can contribute to fedora project according to my knowledge.
Why should we choose you over other applicants? I have knowledge of Linux and the linux kernel.I am familiar with Filesystem,USB driver,Power-Management,Timer,Interrupt,Mem. I have experience analyzing and debugging Linux kernel source code,I can write some related kernel module by myself. I experience working in OpenSource.
Proposal Description
Synopsis: I will implement the writeback mechanism for nfs during the summer,I will spend 8 hours a day to work for my project at least.
Biograph: I am a student from DaLian,China(timezone:GMT+8),23 years old,I am crazy about the OpenSource especially the Linux kernel.
Project: NFS only supports write through cache based on fscache/cachefiles,the goal is adding a new feature that implement a writeback mechanism for nfs.
Profit for writeback mechanism Add a new feature of the fscache,Meet the needs of different people,can satisfy the requrements from different people,and the customer will benefit from it.
Experience: I am good at C/shell Programming and familiar with the Linux kernel/nfs.
I worked for redhat for almost one year and write many testcases(C && shell),I have experience working for OpenSource.
I am familiar with extX filesystems and know the implementation of it by reading the source code.So I am very familiar with the mechanism of cache (indoe cache,dentry cache,address_space).I also have the experiecnce of developering the kernel module.
Implementation: 1.First I think I need to read the fscache source code and familiar with the fscache APIs,such as fscache_read_or_alloc_page,To figure out the implementation of the nfs make use of the FS-cache facilities. 2.Then investigate nfs fscache and cachefiles implementation and a knowledge of write through. 3.At last modify the fscache and cachefiles modules to add some necessary APIs to implement the write back without breaking the NFS specific close-to-open semantics.
Roadmap: 1. Publish my goals to the community and try to get some feedback and suggestions on my plans. Then I will get familiar with nfs->fscachethe->cachefiles that I require for my work. (maybe until early June) 2. Discuss with the community and the mentor about the write back and implement it.(until July) 3. Implement the writeback mechanism. (Before August) 4. Finish developing and re-compile the related of nfs kernel module (nfs,fscache,cacahefiles),test it and check whether it works well.
Mentor : Tao Peng
On Tue, Mar 27, 2012 at 11:31 PM, Dong Zhu bluezhudong@gmail.com wrote:
Hi,
Hi,
My name is Dong Zhu from Dalian,China.I am a intern working in Redhat.I am interested in this idea http://fedoraproject.org/wiki/Summer_coding_ideas_for_2012#Implement_nfs.2Ff...
Glad that you are interested :)
The following information is my Proposal of this idea,Could help reviewing it ? Any comments are appreciated.
------------------ 8< ---------------------
Application for Google Summer of Code 2012: Dong Zhu
Contact Information
Email Address: bluezhudong@gmail.com
Telephone: 13840848540
(minor) you need to add your country code which I believe is 86 :)
Blog URL: http://bluezd.info
Freenode IRC Nick: bluezd
Why do you want to work with the Fedora Project? First: I am a fedora user,I use the fedora 15 as my Desktop os now. Second: The Fedora Project is a worldwide community,I am eager to participate it and make contribute for it. Third: I have great interesting in opensource,especially Fedora Project.
Do you have any past involvement with the Fedora project or another open source project as a contributor? I am intern working in Redhat as a kernel-qe for almost one year,I test/report many bugs and write a large number of automatic testcases on RHEL.On the other hand I also read the kernel source code,then write some related patch to test the kernel.
Did you participate with the past GSoC programs, if so which years, which organizations? No
Will you continue contributing/ supporting the Fedora project after the GSoC 2012 program, if yes, which team(s), you are interested with? Yes,Of course.I am crazy interested in Linux kernel,filesystem,Power-Management,Timer,Interrupt,I am looking forward to submit patch to the fedora-devel. I think I can contribute to fedora project according to my knowledge.
Why should we choose you over other applicants? I have knowledge of Linux and the linux kernel.I am familiar with Filesystem,USB driver,Power-Management,Timer,Interrupt,Mem. I have experience analyzing and debugging Linux kernel source code,I can write some related kernel module by myself. I experience working in OpenSource.
Proposal Description
Synopsis: I will implement the writeback mechanism for nfs during the summer,I will spend 8 hours a day to work for my project at least.
Biograph: I am a student from DaLian,China(timezone:GMT+8),23 years old,I am crazy about the OpenSource especially the Linux kernel.
Project: NFS only supports write through cache based on fscache/cachefiles,the goal is adding a new feature that implement a writeback mechanism for nfs.
Profit for writeback mechanism Add a new feature of the fscache,Meet the needs of different people,can satisfy the requrements from different people,and the customer will benefit from it.
This is not just about fscache. It requires nfs, fscache and cachefiles to work together to make it happen.
Experience: I am good at C/shell Programming and familiar with the Linux kernel/nfs.
I worked for redhat for almost one year and write many testcases(C && shell),I have experience working for OpenSource.
I am familiar with extX filesystems and know the implementation of it by reading the source code.So I am very familiar with the mechanism of cache (indoe cache,dentry cache,address_space).I also have the experiecnce of developering the kernel module.
Implementation: 1.First I think I need to read the fscache source code and familiar with the fscache APIs,such as fscache_read_or_alloc_page,To figure out the implementation of the nfs make use of the FS-cache facilities. 2.Then investigate nfs fscache and cachefiles implementation and a knowledge of write through. 3.At last modify the fscache and cachefiles modules to add some necessary APIs to implement the write back without breaking the NFS specific close-to-open semantics.
Again, all three modules nfs/fscache/cachefiles need to be modified to support writeback caching. And I hope you can divide step 3 into smaller and clearer steps.
Roadmap:
- Publish my goals to the community and try to get some feedback and
suggestions on my plans. Then I will get familiar with nfs->fscachethe->cachefiles that I require for my work. (maybe until early June) 2. Discuss with the community and the mentor about the write back and implement it.(until July)
The first two steps seem to be too long... Hope you can re-consider it so that you leave enough time for coding.
- Implement the writeback mechanism. (Before August)
I believe one month is too short for coding. And I'd prefer if you can give some general idea of how you are going to implement the project. No need to be too specific but some general ideas and measurable steps (and yeah, general ideas and measurable steps should be the main content of your proposal.)
- Finish developing and re-compile the related of nfs kernel module
(nfs,fscache,cacahefiles),test it and check whether it works well.
Besides above, documentation is also important for GSoC projects. You can write down your learning experience, design etc., to help others review and use the code.
Mentor : Tao Peng
-- Best Regards, Dong Zhu
http://bluezd.info
Hi,
First thanks very much for your review,Tao.I am so grateful to you. I have refined the proposal which is listed below,Could help have look at it ?
Any suggestions are welcome ~
------------------------------------------- 8< ------------------------------------------------------------------
Proposal Description
Synopsis: I will implement the writeback mechanism for nfs during the summer,I will spend 8 hours a day to work for my project at least.
Biograph: I am a student from DaLian,China(timezone:GMT+8),23 years old,I am crazy about the OpenSource especially the Linux kernel.
Project: NFS only supports write through cache based on fscache/cachefiles,the goal is adding a new feature that implement a writeback mechanism for nfs.
Profit for writeback mechanism: This Project can satisfy the requrements from different people. 1.Write back caches improve performance, because a write to the local cache is faster than to normal remote server through the network. 2.Reduce network loading by diverting repeat writes to local storage. 3.Wriete back caches also reduces the number of write operations to the remote server.
Experience: I am good at C/shell Programming and familiar with the Linux kernel/nfs. I worked for redhat for almost one year and write many testcases(C && shell),I have experience working for OpenSource. I am familiar with extX/NFS filesystems and know the implementation of it by reading the source code.So I am very familiar with the mechanism of cache (indoe cache,dentry cache,address_space).I also have the experiecnce of developering the kernel module.
Implementation: 1.First I think I need to read the nfs,fscache and cachefiles source code and familiar with the fscache APIs,such as fscache_read_or_alloc_page,To figure out the implementation of the nfs make use of the FS-cache facilities. 2.Then investigate nfs fscache and cachefiles implementation and have a knowledge of write through. 3.Knowledge the difference between the write-through cache and write back cache,Familiar with the write back mechanism. 4.At last modify some related modules(list below) to add some necessary APIs to implement the write back cache without breaking the NFS specific close-to-open semantics.This step is devided into some clear steps.My efforts will be separated into several tasks to complete. 1) NFS:implement the front-end APIs,nfs could use the APIs to cache files on local disk through write back mechanism. Add some necessary APIs into NFS: * cache the "writes" locally eg:add API into nfs_writepage(),when client generate a write request,then nfs invoke the fscache API to cache the data of the file. * modify the locally cached file eg:add API into nfs_writepage(),when client modify a file (which is cached locally by last step),so need to provide some APIs to make client just modifyting the locally cached file instead of the original file which locates in remote server.
2) Fs-cache:implement the back-end APIs Modify the fs-cache module to implement the APIs which are added in NFS.
3) Cachefiles: caching the page in local disk Also need add some functions into this module to provide a interface to fs-cache.The fscache could use this interface to cache files.
4) At last Need to add the sync mechanism to sync with original file which locate in remote server. when client finished modifying the file,the cache will sync with the file asynchronously which locates in remote server.
Roadmap: 1. Publish my goals to the community and try to get some feedback and suggestions on my plans. Then I will get familiar with nfs->fscachethe->cachefiles that I require for my work. (maybe until early May) 2. Discuss with the community and the mentor about the write back mechanism.(until May mid-term) 3. Implement the writeback mechanism. (Before August) 4. Finish developing and re-compile the related of nfs kernel module (nfs,fscache,cacahefiles),test it and check whether it works well by the end of August.
Many Many thanks.
On Thu, Mar 29, 2012 at 2:27 PM, Dong Zhu bluezhudong@gmail.com wrote:
Hi,
First thanks very much for your review,Tao.I am so grateful to you. I have refined the proposal which is listed below,Could help have look at it ?
I will be traveling in the next few days. Will come back to you later. In the meantime, you can submit your draft to gsoc website when you think it's ready. We can move the ping-pong to the gsoc site as it is where the proposal is discussed and tracked officially.
summer-coding@lists.fedoraproject.org