<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-36927913</id><updated>2009-12-30T00:59:48.655-05:00</updated><title type='text'>Jong Choi CGL Blog</title><subtitle type='html'>Data mining and parallelization</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default?start-index=26&amp;max-results=25'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>53</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-36927913.post-2082861851519002514</id><published>2009-11-02T12:46:00.007-05:00</published><updated>2009-11-02T15:35:31.904-05:00</updated><title type='text'>A few useful Windows HPC commands</title><content type='html'>&lt;div&gt;&lt;div&gt;0. Set Default scheduler&lt;/div&gt;&lt;div&gt;&lt;div&gt;set CCP_SCHEDULER=headnode_name&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;1. clusrun&lt;/div&gt;&lt;/div&gt;&lt;div&gt;One can run the following command from his desktop to setup compute node environments&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;clusrun  /user:domain\username dir&lt;/div&gt;&lt;div&gt;&lt;div&gt;clusrun  /user:domain\username xcopy \\headnode_name\dir .&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;clusrun  /user:domain\username setx PATH "somepath"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. job&lt;/div&gt;&lt;div&gt;&lt;div&gt;job list /scheduler:headnode_name&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. node &lt;/div&gt;&lt;div&gt;node list  /scheduler:headnode_name&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5. cluscfg&lt;/div&gt;&lt;div&gt;cluscfg setcreds &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More details are available at &lt;a href="http://technet.microsoft.com/en-us/library/cc972841(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/cc972841(WS.10).aspx&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px; white-space: pre-wrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span"   style="font-family:Georgia, serif;font-size:130%;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; font-size: 16px; white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-2082861851519002514?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/2082861851519002514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=2082861851519002514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/2082861851519002514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/2082861851519002514'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2009/11/few-useful-windows-hpc-commands.html' title='A few useful Windows HPC commands'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-5099327405164359686</id><published>2009-11-01T16:02:00.003-05:00</published><updated>2009-11-01T16:13:46.765-05:00</updated><title type='text'>Imporve serialize() in R for windows</title><content type='html'>serialize() function of R is very slow in Windows. My observation is that calling realloc is the bottle neck. The workaround can be replacing realloc with Rm_realloc in $R_HOME/src/main/serialize.c. More specifically, I have updated as follows:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. In function, resize_buffer(...),  replace &lt;/div&gt;&lt;div&gt;&lt;div&gt;    mb-&gt;buf = realloc(mb-&gt;buf, newsize);&lt;/div&gt;&lt;div&gt;with&lt;/div&gt;&lt;div&gt;    mb-&gt;buf = Rm_realloc(mb-&gt;buf, newsize);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. In function, free_mem_buffer(...),  replace &lt;/div&gt;&lt;div&gt;&lt;div&gt;  free(buf);&lt;/div&gt;&lt;div&gt;with &lt;/div&gt;&lt;div&gt;  Rm_free(buf);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Directions for compiling R in Windows are in &lt;a href="http://cran.r-project.org/bin/windows/base/rw-FAQ.html#How-can-I-compile-R-from-source_003f"&gt;http://cran.r-project.org/bin/windows/base/rw-FAQ.html#How-can-I-compile-R-from-source_003f&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The following is a short result running on my Windows 7 desktop:&lt;/div&gt;&lt;div&gt;The original:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&gt; system.time(serialize(matrix(0, 1000, 1000), NULL))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   user  system elapsed&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   5.74    4.39   10.15&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&gt; system.time(serialize(matrix(0, 2000, 2000), NULL))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   user  system elapsed&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  85.40   74.80  161.62&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After updating:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&gt; system.time(serialize(matrix(0, 1000, 1000), NULL))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   user  system elapsed&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   0.78    0.30    1.10&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&gt; system.time(serialize(matrix(0, 2000, 2000), NULL))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   user  system elapsed&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   6.21    4.13   10.54&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-5099327405164359686?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/5099327405164359686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=5099327405164359686' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/5099327405164359686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/5099327405164359686'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2009/11/imporve-serialize-in-r-for-windows.html' title='Imporve serialize() in R for windows'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-2005754474575632855</id><published>2009-10-31T21:47:00.007-04:00</published><updated>2009-11-01T14:21:31.746-05:00</updated><title type='text'>Compile Rmpi with Windows MPI (HPC pack)</title><content type='html'>Compile Rmpi (&lt;a href="http://www.stats.uwo.ca/faculty/yu/Rmpi/"&gt;http://www.stats.uwo.ca/faculty/yu/Rmpi/&lt;/a&gt;) in Windows&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;1. Install HPC Pack 2008 SDK with SP1 and modify line 314 in mpi.h (installed_dir\Include) as follows:&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;div&gt;//typedef __int64 MPI_Offset;&lt;/div&gt;&lt;div&gt;typedef long long MPI_Offset;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;h1 style="font-size: 1.3em; font-weight: normal; margin-bottom: 5px; "&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/span&gt;&lt;div&gt;2. Download Rmpi from http://www.stats.uwo.ca/faculty/yu/Rmpi/download/linux/Rmpi_0.5-7.tar.gz&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. Untar the source and modify src/Makevars.win by changing directory and library option (-lmsmpi) as follows:&lt;/div&gt;&lt;div&gt;&lt;div&gt;PKG_CFLAGS   = -I"C:\Program Files\Microsoft HPC Pack 2008 SDK\Include" -DMPI2 -DWin32&lt;/div&gt;&lt;div&gt;PKG_LIBS     = -L"C:\Program Files\Microsoft HPC Pack 2008 SDK\Lib\i386" -lmsmpi&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. Compile and install&lt;/div&gt;&lt;div&gt;R CMD INSTALL Rmpi&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5. Build for re-distribution&lt;/div&gt;&lt;div&gt;R CMD build --binary Rmpi&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-2005754474575632855?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/2005754474575632855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=2005754474575632855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/2005754474575632855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/2005754474575632855'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2009/10/compile-rmpi-with-windows-mpi-hpc-pack.html' title='Compile Rmpi with Windows MPI (HPC pack)'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-8151222579285470538</id><published>2009-10-28T14:36:00.004-04:00</published><updated>2009-10-28T14:50:14.965-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='public key'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Setting up a non-admin SVN repository shared with multiple users</title><content type='html'>&lt;div&gt;A trick is using SSH with public key as described in&lt;/div&gt;&lt;div&gt;&lt;a href="http://svn.collab.net/repos/svn/trunk/notes/ssh-tricks"&gt;http://svn.collab.net/repos/svn/trunk/notes/ssh-tricks&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As a quick summary, I have set up a SVN repository as follows:&lt;/div&gt;&lt;div&gt;1. create a svn root directory, which will share with others, and create a repository:&lt;/div&gt;&lt;div&gt;    $ mkdir /path/svnshare&lt;/div&gt;&lt;div&gt;    $ svnadmin create /path/svnshare/project&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Get public keys of user to share svn repository and insert to ~/.ssh/authorized_keys the following line:&lt;/div&gt;&lt;div&gt;command="/path/to/svnserve -t -r /path/svnshare --tunnel-user=[USERID]",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty [KEY_TYPE] [PUB_KEY] [COMMENT]&lt;/div&gt;&lt;div&gt;[.] should be replaced with users' information&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. Now users can access the shared svn repository remotely as follows:&lt;/div&gt;&lt;div&gt;svn co svn+ssh://[MYID]@[SERVER IP or DNS]/project&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Note that use relative path names of repository after server ip or dns&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-8151222579285470538?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/8151222579285470538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=8151222579285470538' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/8151222579285470538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/8151222579285470538'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2009/10/setting-up-non-admin-svn-repository.html' title='Setting up a non-admin SVN repository shared with multiple users'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-5115011071240292913</id><published>2009-06-29T01:56:00.001-04:00</published><updated>2009-06-29T01:56:20.384-04:00</updated><title type='text'>More tips for using R with GotoBLAS</title><content type='html'>&lt;p&gt;After building R with GotoBLAS (See &lt;a href="http://jychoi-report-cgl.blogspot.com/2009/04/compile-r-with-gotoblas.html"&gt;http://jychoi-report-cgl.blogspot.com/2009/04/compile-r-with-gotoblas.html&lt;/a&gt;), a few things we can do for verification.&lt;/p&gt;  &lt;p&gt;1. Download a R benchmark script (&lt;a title="http://r.research.att.com/benchmarks/R-benchmark-25.R" href="http://r.research.att.com/benchmarks/R-benchmark-25.R"&gt;http://r.research.att.com/benchmarks/R-benchmark-25.R&lt;/a&gt;) and run it to check if every step works ok. (You can compare the performance with ones from normal R build too.) &lt;/p&gt;  &lt;p&gt;2. If R is hang in calling eigen() function, try to rebuild GotoBLAS and R by using the same fortran compiler. &lt;/p&gt;  &lt;p&gt;3. If nothing works, one can use ATLAS instead of GotoBLAS &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-5115011071240292913?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/5115011071240292913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=5115011071240292913' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/5115011071240292913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/5115011071240292913'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2009/06/more-tips-for-using-r-with-gotoblas.html' title='More tips for using R with GotoBLAS'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-7890302575940545593</id><published>2009-04-24T08:31:00.001-04:00</published><updated>2009-04-24T08:34:11.509-04:00</updated><title type='text'>Compile R with GotoBLAS</title><content type='html'>&lt;p&gt;I want to share my experience to use GotoBLAS as an external multithread library of R. I didn’t make through performance test with other libraries (such as ATLAS) but I did got lot of performance gains with GotoBLAS in using R. &lt;/p&gt;  &lt;p&gt;1. GotoBLAS from &lt;a href="http://www.tacc.utexas.edu/resources/software"&gt;http://www.tacc.utexas.edu/resources/software&lt;/a&gt;    &lt;br /&gt;Follow instructions in 02QuickInstall.txt.&lt;/p&gt;  &lt;p&gt;2. CBLAS from &lt;a href="http://www.netlib.org/blas/blast-forum/cblas.tgz"&gt;http://www.netlib.org/blas/blast-forum/cblas.tgz&lt;/a&gt;    &lt;br /&gt;This is not required for using R but you may need this for using GSL(GNU Scientific Library)    &lt;br /&gt;a. If the architecture is Linux, type    &lt;br /&gt;$ ln –s Make.LINUX Make.in     &lt;br /&gt;b. In Make.in, Modify BLLIB, CBDIR and –fPIC –lpthread to LOADER option.     &lt;br /&gt;c. Type make all for building libraries and testing    &lt;br /&gt;d. After completing, go to lib/LINUX and type    &lt;br /&gt;$ ld -melf_x86_64 -shared -soname libgotocblas.so -o libgotocblas.so cblas_LINUX.a&lt;/p&gt;  &lt;p&gt;Note. try to use –m64 or –m32 if you are working with powerpc &lt;/p&gt;  &lt;p&gt;3. R from &lt;a href="http://cran.r-project.org/"&gt;&lt;font color="#0066cc"&gt;http://cran.r-project.org/&lt;/font&gt;&lt;/a&gt;    &lt;br /&gt;Run configure as follows:    &lt;br /&gt;$ export GOTOBLAS_LIB=PATH/TO/GOTOBLAS_LIB    &lt;br /&gt;$ mkdir build_goto; cd build_goto;    &lt;br /&gt;$ ../configure --prefix=$HOME/usr/R/ --with-blas=&amp;quot;-L$GOTOBLAS_LIB -lgotoblas -lpthread&amp;quot; --enable-R-shlib --enable-R-static-lib --enable-BLAS-shlib&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-7890302575940545593?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/7890302575940545593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=7890302575940545593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/7890302575940545593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/7890302575940545593'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2009/04/compile-r-with-gotoblas.html' title='Compile R with GotoBLAS'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-5323685953327060359</id><published>2009-04-07T11:09:00.001-04:00</published><updated>2009-04-07T11:09:36.328-04:00</updated><title type='text'>Create AVI from R plot</title><content type='html'>&lt;p&gt;1. In R, save plots as postscript (or png) files by adding sequence number. For example,&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;postscript(sprintf(&amp;quot;%04d.eps&amp;quot;, i))&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;2. By using ImageMagick’s convert command line tool, convert images from eps to png (You may skip if you have png files)&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;for f in *.eps; do convert -rotate 90 $f png32:$f.png; done&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You may want to add the following options:&lt;/p&gt;  &lt;p&gt;-resize 1280x720 : change image size    &lt;br /&gt;-bordercolor white -border 0x0 : add white background&lt;/p&gt;  &lt;p&gt;3. Create AVI by using ffmpeg&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;ffmpeg -r 15 -sameq -i %04d.eps.png out.avi&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You can control frame rate (-r rate) and quality (-sameq or –b bitrate)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Note:&lt;/p&gt;  &lt;p&gt;If you need speed-up in conversion, you may try to use a bash script parallel.sh in &lt;a href="http://pebblesinthesand.wordpress.com/2008/05/22/a-srcipt-for-running-processes-in-parallel-in-bash/"&gt;http://pebblesinthesand.wordpress.com/2008/05/22/a-srcipt-for-running-processes-in-parallel-in-bash/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-5323685953327060359?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/5323685953327060359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=5323685953327060359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/5323685953327060359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/5323685953327060359'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2009/04/create-avi-from-r-plot.html' title='Create AVI from R plot'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-204071237967562203</id><published>2009-02-01T21:52:00.001-05:00</published><updated>2009-02-01T21:52:43.704-05:00</updated><title type='text'>Summary of the recommendation system survey paper</title><content type='html'>&lt;p&gt;&lt;a name="p_56_INSTANCE_QVbO"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="p_digitallibraryabstract_WAR_plugins_INSTANCE_DjbO"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’ve found a good survey paper about recommendation systems as follows:&lt;/p&gt;  &lt;p&gt;Gediminas Adomavicius, Alexander Tuzhilin, &amp;quot;Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions,&amp;quot; &lt;em&gt;IEEE Transactions on Knowledge and Data Engineering&lt;/em&gt;, vol. 17, no. 6, pp. 734-749, June, 2005.&lt;/p&gt;  &lt;p&gt;A short summary:&lt;/p&gt;  &lt;p&gt;-. A short definition of recommendation system: a problem of extrapolation for predicting unknown values&lt;/p&gt;  &lt;p&gt;-. 3 approaches: i) Content-based, ii) Collaborative, and iii) Hybrid&lt;/p&gt;  &lt;p&gt;i) Content-based RS(Recommendation System): a user’s feature is computed solely based on the user’s activity history. Can have the following limitations:   &lt;br /&gt;a. Feature extraction can be hard in some domain, such as multimedia or image    &lt;br /&gt;b. Over specialization: Diversity is required. Randomness, genetic algorithms, or some adjustment (remove too similar, or too different outputs)    &lt;br /&gt;c. New user problem: No information to consider    &lt;br /&gt;    &lt;br /&gt;Known algorithms: (Naive) Bayesian classifier, Rocchio, winnow, ANN, …&lt;/p&gt;  &lt;p&gt;ii) Collaborative RS: a user’s feature is computed by a group of like-mined people or peers. Limitations:   &lt;br /&gt;a. New user problem [83][89] : The same with content-based RS    &lt;br /&gt;b. New item problem    &lt;br /&gt;c. Sparsity: a few workaround ideas -- use of demographic information, dimension reduction, …     &lt;br /&gt;    &lt;br /&gt;Known algorithms: clustering, Bayesian network, SVD, maximum entropy, …&lt;/p&gt;  &lt;p&gt;iii) Hybrid RS: utilize both content-based and collaborative system.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-204071237967562203?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/204071237967562203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=204071237967562203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/204071237967562203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/204071237967562203'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2009/02/summary-of-recommendation-system-survey.html' title='Summary of the recommendation system survey paper'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-6524528290871549859</id><published>2008-12-21T17:26:00.001-05:00</published><updated>2008-12-21T17:26:37.257-05:00</updated><title type='text'>Flash 3D Engine: Sandy3D Vs. Papervision3D</title><content type='html'>&lt;p&gt;Inspired by &lt;a href="http://ricardocabello.com/blog/post/393/"&gt;an article&lt;/a&gt; compared performance between Away3D vs. Papervision3D, I’ve just wanted to compare simple performance Sandy 3D (3.1 AS3) vs. Papervision 3D (2.0. Revision 849. Code name: Greate White) in rendering 1,000 objects. &lt;/p&gt;  &lt;p&gt;As a result, the papervision3D is faster than Sandy3D by roughly 2~3 times or even more. My benchmark implementations of both &lt;a href="http://cs.indiana.edu/~jychoi/flash/randomSD3D.html"&gt;Sandy&lt;/a&gt; and &lt;a href="http://cs.indiana.edu/~jychoi/flash/randomPV3D.html"&gt;Papervision3D&lt;/a&gt; and &lt;a href="http://cs.indiana.edu/~jychoi/flash/benchmark.tar.gz"&gt;source codes&lt;/a&gt; are available.&amp;#160; &lt;/p&gt;  &lt;p&gt;Optimization advice of Sandy can be found &lt;a href="http://www.flashsandy.org/faq/performance"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-6524528290871549859?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/6524528290871549859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=6524528290871549859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/6524528290871549859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/6524528290871549859'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2008/12/flash-3d-engine-sandy3d-vs.html' title='Flash 3D Engine: Sandy3D Vs. Papervision3D'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-7673163592478574528</id><published>2008-12-21T16:46:00.001-05:00</published><updated>2008-12-21T16:46:28.057-05:00</updated><title type='text'>How to Parallelize</title><content type='html'>&lt;p&gt;I’ve found a very good introduction about how to parallelize applications from &lt;a href="http://www.cs.princeton.edu/courses/archive/spr08/cos598A/parallelization_course.pdf"&gt;http://www.cs.princeton.edu/courses/archive/spr08/cos598A/parallelization_course.pdf&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Especially, a few tools are very helpful to analyze the code at the beginning stage:&lt;/p&gt;  &lt;p&gt;1. gprof – profiler. Help to decide which part should look at. Consider to use a pthread wrapper available at &lt;a title="http://sam.zoy.org/writings/programming/gprof.html" href="http://sam.zoy.org/writings/programming/gprof.html"&gt;http://sam.zoy.org/writings/programming/gprof.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. helgrind – To detect race conditions&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-7673163592478574528?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/7673163592478574528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=7673163592478574528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/7673163592478574528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/7673163592478574528'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2008/12/how-to-parallelize.html' title='How to Parallelize'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-6634996075287502200</id><published>2008-12-09T01:35:00.001-05:00</published><updated>2008-12-09T01:39:21.904-05:00</updated><title type='text'>GCC 4.3.2 Compilation and OpenMP</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In order to try OpenMP3.0, I had been trying to install gcc-4.3.2 on an x86_64 Linux box without any luck. I got the following error in building gcc-4.3.2&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;/usr/bin/ld: crti.o: No such file: No such file or directory&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;It turns out that I need 32bit libc for cross-compilation which I can’t install since I’m not a superuser. The workaround is to disable this feature by using “&lt;font face="Courier New"&gt;--disable-multilib&lt;/font&gt;” option as follow:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;./configure –-disable-multilib     &lt;br /&gt;make &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;After installation, if you meet the following error in compiling OpenMP file: &lt;/p&gt;  &lt;p&gt;&lt;code&gt;gcc: libgomp.spec: No such file or directory,&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;find libgomp.spec under /path/to/gcc/lib64 and make a symbolic link under /path/to/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.3.2 (See [2])&lt;/p&gt;  &lt;p&gt;Reference:   &lt;br /&gt;[1] &lt;a href="http://gcc.gnu.org/ml/gcc-help/2008-04/msg00134.html"&gt;gcc-help mailing list&lt;/a&gt;    &lt;br /&gt;[2] &lt;a href="http://www.linux-mag.com/id/4609"&gt;OpenMP in 30 Minutes&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-6634996075287502200?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/6634996075287502200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=6634996075287502200' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/6634996075287502200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/6634996075287502200'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2008/12/gcc-432-compilation-and-openmp.html' title='GCC 4.3.2 Compilation and OpenMP'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-1277264129613238719</id><published>2008-11-04T11:04:00.001-05:00</published><updated>2008-11-04T11:05:02.177-05:00</updated><title type='text'>Collective Collaborative Tagging System (Abstract)</title><content type='html'>&lt;p&gt;Currently in the Internet many collaborative tagging sites exist, but there is the need for a service to integrate the data from the multiple sites to form a large and unified set of collaborative data from which users can have more accurate and richer information than from a single site. In our paper, we have proposed a collective collaborative tagging (CCT) service architecture in which both service providers and individual users can merge folksonomy data (in the form of keyword tags) stored in different sources to build a larger, unified repository. We have also examined a range of algorithms that can be applied to different problems in folksonomy analysis and information discovery. These algorithms address several common problems for online systems: searching, getting recommendations, finding communities of similar users, and finding interesting new information by trends. Our contributions are to a) systematically examine the available public algorithms’ application to tag-based folksonomies, and b) to propose a service architecture that can provide these algorithms as online capabilities.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-1277264129613238719?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/1277264129613238719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=1277264129613238719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/1277264129613238719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/1277264129613238719'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2008/11/collective-collaborative-tagging-system.html' title='Collective Collaborative Tagging System (Abstract)'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-8001764944324963987</id><published>2008-10-27T15:05:00.001-04:00</published><updated>2008-10-27T15:05:08.575-04:00</updated><title type='text'>cross-domain problem in making ajax call by using XMLHttpRequest</title><content type='html'>&lt;p&gt;I’ve just faced with a cross-domain problem in making a mash-up site by using ajax call. In particular, I’m developing an igoogle gadget which should use cross-domain calls to retrieve data from a server outside of google domain. &lt;/p&gt;  &lt;p&gt;I’ve found a good article to workaround this problem: &lt;a href="http://developer.yahoo.com/javascript/howto-proxy.html"&gt;http://developer.yahoo.com/javascript/howto-proxy.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Among the solutions suggested in the article, I’m very pleased with JSONP approaches. Intuition of JSONP approach is that cross-domain problems will not occur for &amp;lt;script&amp;gt; tag. By exploiting this, call a cross-domain function, which designed to return json data enclosed in a function call, by using &amp;quot;src” attribute of &amp;lt;script&amp;gt; tag. Details can be found at &lt;a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/"&gt;http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-8001764944324963987?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/8001764944324963987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=8001764944324963987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/8001764944324963987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/8001764944324963987'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2008/10/cross-domain-problem-in-making-ajax.html' title='cross-domain problem in making ajax call by using XMLHttpRequest'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-3660675521141340482</id><published>2008-07-30T13:36:00.001-04:00</published><updated>2008-07-30T13:36:19.209-04:00</updated><title type='text'>Summary of “Evaluation Collaborative Filtering Recommender Systems”</title><content type='html'>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;The following is a short summary of:   &lt;br /&gt;J. Herlocker, J. Konstan, L. Terveen, and J. Riedl. &lt;a href="http://web.engr.oregonstate.edu/%7Eherlock/papers/eval_tois.pdf"&gt;Evaluating collaborative filtering recommender systems&lt;/a&gt;. ACM Transactions on Information Systems (TOIS), 22(1):5--53, 2004.&lt;/p&gt;  &lt;p&gt;Commonly observed user tasks from recommender systems are as follow:   &lt;br /&gt;-. Annotation in context : Uses a recommender in an existing context. E.g., Overlay prediction information on top of existing links    &lt;br /&gt;-. Find good items : Video recommender, Item recommender, etc    &lt;br /&gt;-. Find All Good Items : purpose is to lower false negative rate    &lt;br /&gt;-. Recommend sequence : can be interesting    &lt;br /&gt;-. Find credible recommender : making the system more credible&lt;/p&gt;  &lt;p&gt;Ratings can be explicit (users rate directly) or implicit (inferred from users behavior or preferences)&lt;/p&gt;  &lt;p&gt;Commonly used evaluation metrics are:   &lt;br /&gt;1. Predictive accuracy    &lt;br /&gt;-. MAE (Mean Absolute Error) = (\sum (p_i – r_i))/N    &lt;br /&gt;-. MSE (Mean Square Error) = (\sum (p_i – r_i)^2)/N    &lt;br /&gt;-. RMSE (Root Mean Square Error) = \sqrt (MSE)    &lt;br /&gt;2. Classification accuracy    &lt;br /&gt;-. Precision : the ratio of relevant items selected to number of items selected    &lt;br /&gt;-. Recall : the ratio of relevant items selected to total number of relevant items available (Note: Precision and recall are inversely related.)    &lt;br /&gt;-. MAP(Mean Average Precision, aka F1) = 2PR/(P+R)    &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-3660675521141340482?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/3660675521141340482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=3660675521141340482' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/3660675521141340482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/3660675521141340482'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2008/07/summary-of-evaluation-collaborative.html' title='Summary of “Evaluation Collaborative Filtering Recommender Systems”'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-2968735874923271380</id><published>2008-07-16T01:52:00.001-04:00</published><updated>2008-07-16T01:52:10.423-04:00</updated><title type='text'>Netflix Prize for the best collaborative filtering algorithm</title><content type='html'>&lt;p&gt;Collaborative filtering, also known as social tagging, is much more popular these days in the Internet but it’s not so clear yet how much and what kind of information we can extract from the system. Regarding this problem, I think &lt;a href="http://www.netflixprize.com//rules"&gt;Netflix prize&lt;/a&gt; would be a great challenge to make those questions clear out. &lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;&lt;em&gt;@. What to predict? &lt;/em&gt;&lt;/strong&gt;&lt;/h4&gt;  &lt;p&gt;Simple. From the &lt;em&gt;&lt;strong&gt;training set&lt;/strong&gt;&lt;/em&gt;, provided by Netflix, which contains over 100M movie 1-to-5 scale ratings, we need to predict unknown movie ratings for the given &lt;em&gt;&lt;strong&gt;qualifying set&lt;/strong&gt;&lt;/em&gt;. More specifically, each data in the training set is quadruple of &amp;lt;user, movie, date of grade, grade&amp;gt; and the qualifying set is given &amp;lt;user, movie, date of grade, unknown grade&amp;gt;. We need to fill out the unknown grades by prediction and submit them for evaluation.&lt;/p&gt;  &lt;p&gt;Besides two data sets, the training and qualifying set, Netflix provides the &lt;strong&gt;&lt;em&gt;probe set&lt;/em&gt;&lt;/strong&gt; which is a problem set with answers. With this, we can roughly estimate the accuracy without consulting with the scoring oracle.&lt;/p&gt;  &lt;h4&gt;&lt;em&gt;@. How to predict?&lt;/em&gt;&lt;/h4&gt;  &lt;p&gt;Hard. However, we can learn from the front-runners, posted at the &lt;a href="http://www.netflixprize.com/leaderboard"&gt;Leaderboard&lt;/a&gt;. The first annual progress winner is &lt;a href="http://www.research.att.com/~volinsky/netflix/"&gt;BellKor&lt;/a&gt; and they wrote about &lt;a href="http://www.research.att.com/~volinsky/netflix/ProgressPrize2007BellKorSolution.pdf"&gt;their algorithm&lt;/a&gt;.&lt;/p&gt;  &lt;h4&gt;&lt;em&gt;@. Number-wise story&lt;/em&gt;&lt;/h4&gt;  &lt;p&gt;#. of data in the training set = 100,480,507   &lt;br /&gt;#. of users in the training set = 480,189    &lt;br /&gt;#. of movies in the training set = 17,770    &lt;br /&gt;#. of data to predict in the qualifying set = 2,817,131    &lt;br /&gt;#. of data in the probe set = 1,408,395&lt;/p&gt;  &lt;h4&gt;&lt;em&gt;@. Research problems&lt;/em&gt;&lt;/h4&gt;  &lt;p&gt;As a student, trying to apply machine learning algorithms to various applications, it is interesting to study:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;What kind of machine learning algorithms can be applied to analyze the Netflix collaborative filtering data? Furthermore, Can we find more general algorithms can be used for the data in the net? &lt;/li&gt;    &lt;li&gt;How such computations can be expedited by using parallel, multi-core platform? Interestingly, is it possible to use other computing powers, such as cloud computing?&lt;/li&gt;    &lt;li&gt;Can we improve accuracy by adding other information easily accessible from the Internet? What kind of infrastructure of the Internet can help this? Web2.0 or else?&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h4&gt;&lt;em&gt;@. Reading list&lt;/em&gt;&lt;/h4&gt;  &lt;p&gt;J. Herlocker, J. Konstan, L. Terveen, and J. Riedl. &lt;a href="http://web.engr.oregonstate.edu/~herlock/papers/eval_tois.pdf"&gt;Evaluating collaborative filtering recommender systems&lt;/a&gt;. ACM Transactions on Information Systems (TOIS), 22(1):5--53, 2004.&lt;/p&gt;  &lt;p&gt;R. Bell, Y. Koren, and C. Volinsky. &lt;a href="http://public.research.att.com/~yehuda/pubs/cf.pdf"&gt;Modeling relationships at multiple scales to improve accuracy of large recommender systems&lt;/a&gt;. Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining, pages 95--104, 2007&lt;/p&gt;  &lt;p&gt;R. Bell and Y. Koren. &lt;a href="http://public.research.att.com/~yehuda/pubs/cf-workshop.pdf"&gt;Improved Neighborhood-based Collaborative Filtering&lt;/a&gt;. KDD-Cup and Workshop.&lt;/p&gt;  &lt;p&gt;R. M. Bell and Y. Koren, &lt;a href="http://public.research.att.com/~yehuda/pubs/BellKorIcdm07.pdf"&gt;Scalable Collaborative Filtering with Jointly Derived Neighborhood Interpolation Weights&lt;/a&gt;, &lt;i&gt;Proc. IEEE International Conference on Data Mining (ICDM'07)&lt;/i&gt;, 2007&lt;/p&gt;  &lt;p&gt;Possible useful papers can be found from the Internet. I will keep this list up-to-date, as I read through.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-2968735874923271380?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/2968735874923271380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=2968735874923271380' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/2968735874923271380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/2968735874923271380'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2008/07/netflix-prize-for-best-collaborative.html' title='Netflix Prize for the best collaborative filtering algorithm'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-1047515204016304234</id><published>2008-07-15T23:46:00.001-04:00</published><updated>2008-07-15T23:46:52.155-04:00</updated><title type='text'>PMPP workshop at NCSA</title><content type='html'>&lt;p&gt;I attended &lt;a href="http://www.iacat.uiuc.edu/events/PMPP/agenda.html"&gt;PMPP&lt;/a&gt; (Programming Massively Parallel Processors Agenda) workshop at NCSA last week (July 10th, 2008). It was great opportunity to see what we can do with parallel processors and modern powerful GPUs. Recently Multi-core or many-core has been drawing great attentions in various research communities and people are still struggling to find a way to maximize its capabilities in the coming 80-core era. In other side, Peoples have been also trying to utilize GPUs as a parallel computing unit. Modern GPUs are equipped&amp;#160; with tens of, or hundreds of cores, which can be used for computing intensive jobs. The workshop was about all of these: Multicores and GPUs. &lt;/p&gt;  &lt;p&gt;Here are some highlights:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Parallel GPU: Mostly two venders, nVidia and ATI, are actively developing this market by continually supplying powerful hardware and SDKs. nVidia provides CUDA and ATI does Stream SDK for programming kits. &lt;/li&gt;    &lt;li&gt;nVidia's parallel GPU with CUDA: Lightweight threads running on nVidia GPU (8 to 240 cores). Designed with parallel execution in mind, while general CPU is not. GPU can be considered as massively parallel manycore machine. &lt;/li&gt;    &lt;li&gt;Autotuning for multicore : Multicore tuning parameter spaces are so huge to investigate one by one. We can overcome this by systematic approaches. Details can be seen from the papers by &lt;a href="http://www.cs.berkeley.edu/~samw/"&gt;Samuel Williams&lt;/a&gt; and &lt;a href="http://www.cs.berkeley.edu/~kdatta/"&gt;Kaushik Datta&lt;/a&gt;. In their paper, many multicore tuning techniques are introduced.&lt;/li&gt;    &lt;li&gt;Cell broadband engine (Cell BE): Interesting demonstration was shown by Hema Reddy from IBM. Look at this &lt;a href="http://techon.nikkeibp.co.jp/english/NEWS_EN/20051013/109623/"&gt;article&lt;/a&gt; and &lt;a href="http://techon.nikkeibp.co.jp/lsi/images/toshiba_cell.mpg"&gt;clip&lt;/a&gt;. I saw the more interesting clip in the workshop but I can't find the exact one in the Internet.&lt;/li&gt;    &lt;li&gt;Multicore/GPU researchers : look at &lt;a href="http://www2.cs.ucy.ac.cy/~pedro/"&gt;Pedro Trancoso&lt;/a&gt;, &lt;a href="http://www.ks.uiuc.edu/~johns/"&gt;John Stone&lt;/a&gt;, and &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-1047515204016304234?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/1047515204016304234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=1047515204016304234' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/1047515204016304234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/1047515204016304234'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2008/07/pmpp-workshop-at-ncsa.html' title='PMPP workshop at NCSA'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-2382740112611183919</id><published>2008-04-23T00:36:00.001-04:00</published><updated>2008-04-23T00:36:01.086-04:00</updated><title type='text'>MDS graph of Connotea</title><content type='html'>&lt;p&gt;MDS graph with Connotea data by using GGobi. &lt;/p&gt;  &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:1d374fd4-4134-4604-b468-0edf8355c086" class="wlWriterSmartContent"&gt;&lt;div&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_VU0gl5Py-M"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/_VU0gl5Py-M" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-2382740112611183919?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/2382740112611183919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=2382740112611183919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/2382740112611183919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/2382740112611183919'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2008/04/mds-graph-of-connotea.html' title='MDS graph of Connotea'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-5101864941458000000</id><published>2008-02-13T17:02:00.001-05:00</published><updated>2008-02-13T17:02:11.821-05:00</updated><title type='text'>Status report for 02/07/2008 to 02/13/2008</title><content type='html'>&lt;p&gt;I have been doing tag analysis to find underlying relationships between tags, users, and resources in folksonomies. I think there are possibly two different approaches: i) frequency analysis based on resource vectors spanning over the term space and ii) graph-based analysis based on tag graphs. &lt;/p&gt;  &lt;p&gt;In the frequency analysis, we can use Principal Component Analysis(PCA) or Independent Component Analysis(ICA). Similar approaches have been done in the field of IR. An example can be found in &lt;a href="http://www.stanford.edu/~dgleich/publications/soft-clustering-pca-ica.pdf"&gt;here&lt;/a&gt;, where PCA and ICA were used for tag-advertising matching. &lt;/p&gt;  &lt;p&gt;With PCA and ICA, I produced the following figures:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.google.com/yyalli/R7No3ah5-lI/AAAAAAAAAOU/W-bdsSBfhFg/connotea%5B2%5D"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="189" alt="connotea" src="http://lh6.google.com/yyalli/R7No3ah5-mI/AAAAAAAAAOc/zyk8eLajsKc/connotea_thumb" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(a) PCA with Tag-graph&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.google.com/yyalli/R7No36h5-nI/AAAAAAAAAOk/6uVb86Kd99Q/connoteaICA%5B2%5D"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="189" alt="connoteaICA" src="http://lh5.google.com/yyalli/R7No4Kh5-oI/AAAAAAAAAOs/MdPvfiWCAfc/connoteaICA_thumb" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;(b) ICA with Tag-graph (number of component = 3) &lt;/p&gt;  &lt;p&gt;It is very interesting that we can see some tag relationships (or tag clusters) in both two pictures but reasonable interpretation is not so easy to get. I think it's a good starting point to cluster terms for extract meaningful information. I will keep working on those graph.&lt;/p&gt;  &lt;p&gt;As for the next step, I'm going to do analysis with graph-based methods. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-5101864941458000000?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/5101864941458000000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=5101864941458000000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/5101864941458000000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/5101864941458000000'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2008/02/status-report-for-02072008-to-02132008.html' title='Status report for 02/07/2008 to 02/13/2008'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-8024376724908367080</id><published>2007-12-19T14:56:00.001-05:00</published><updated>2007-12-19T14:56:29.674-05:00</updated><title type='text'>Status report for 12/13/2007 to 12/19/2007</title><content type='html'>&lt;p&gt;1. Listing up papers for Oral Qual.&lt;/p&gt;  &lt;p&gt;I've been making a reading list for oral qualify exam. The focus of my oral exam will be (1) Folksonomies and Web 2.0 architecture, (2) Machine Learning, and (3) Multicore and parallel programming of machine learning algorithms. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;2. Paper reading - HMM&lt;/p&gt;  &lt;p&gt;I've been reading a paper about Hidden Markov Models: &lt;/p&gt;  &lt;p&gt;L. Rabiner, &amp;quot;A tutorial on hidden Markov models and selected applications in speech recognition,&amp;quot; Proc IEEE, vol. 77, pp. 257-286, 1989.&lt;/p&gt;  &lt;p&gt;A short summary is as follow:&lt;/p&gt;  &lt;p&gt;-. HMM: A Markov chain with hidden states. HMM can be used to guess a transitions between hidden states based on the observation&lt;/p&gt;  &lt;p&gt;-. The basic 3 problems in HMM: (a) Given a HMM model, compute probability of an observation sequence, (b) Given the observation sequence, guess a probable state sequence, and (c) Adjust HMM model parameters to maximize P(Observations|HMM Model)&lt;/p&gt;  &lt;p&gt;-. Viterbi Algorithm can be used to solve the problem of type (b)&lt;/p&gt;  &lt;p&gt;-. Expecation-Maximization algorithm can be applied to (c)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-8024376724908367080?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/8024376724908367080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=8024376724908367080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/8024376724908367080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/8024376724908367080'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2007/12/status-report-for-12132007-to-12192007.html' title='Status report for 12/13/2007 to 12/19/2007'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-3844161153157939652</id><published>2007-11-14T17:18:00.001-05:00</published><updated>2007-11-14T17:20:59.272-05:00</updated><title type='text'>Status report for 11/08/2007 to 11/14/2007</title><content type='html'>&lt;p&gt;I've been reading a paper about ranking in folksonomy, called FolkRank, proposed in &lt;a href="http://www.kde.cs.uni-kassel.de/stumme/papers/2006/hotho2006trend.pdf"&gt;Trend detection in folksonomies&lt;/a&gt;, &lt;a href="http://www.kde.cs.uni-kassel.de/hotho/pub/2006/seach2006hotho_eswc.pdf"&gt;Information Retrieval in Folksonomies: Search and Ranking&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;FolkRank is based on well-known PageRank algorithm used in Google (&lt;a href="http://infolab.stanford.edu/%7Ebackrub/google.html"&gt;The Anatomy of a Large-Scale Hypertextual Web Search Engine&lt;/a&gt; and &lt;a href="http://dbpubs.stanford.edu:8090/pub/showDoc.Fulltext?lang=en&amp;amp;doc=1999-66&amp;amp;format=pdf&amp;amp;compression=&amp;amp;name=1999-66.pdf"&gt;The PageRank Citation Ranking: Bringing Order to the Web&lt;/a&gt;). &lt;/p&gt;  &lt;p&gt;In a nut shell, the basic idea of PageRank is that a page is important if there are many pages linking to it. This can be formulated by the following matrix equation:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#000000"&gt;R(u) = c \sum R(v)/N or &lt;font color="#000000"&gt;R(u) = c \sum R(v)/N&lt;/font&gt; + cE(u)&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#000000"&gt;where &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#000000"&gt;u is a web page and v is a page referring u, &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#000000"&gt;R(u) and R(v) are PageRank of u and v repectively,&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#000000"&gt;N is a number of all links in page u, and &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#000000"&gt;E(u) is called a source of rank.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#xA0;&lt;/p&gt;  &lt;p&gt;Folksonomy can also be represented as a graph by using the similar concept of PageRank but a few exceptions: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Folksonomy graph is undirected, while web graph in PageRank is directed.&lt;/li&gt;    &lt;li&gt;Nodes are heterogeneous and the graph is triadic, while in PageRank the nodes are homogeneous.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I think it's a good start to begin with applying PageRank algorithm to folksonomy recommendation system. For this purpose, I'm planing to dig into more details on the PageRank algorithm and find some sample code for better understand. &lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-3844161153157939652?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/3844161153157939652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=3844161153157939652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/3844161153157939652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/3844161153157939652'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2007/11/status-report-for-11082007-to-11142007.html' title='Status report for 11/08/2007 to 11/14/2007'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-1569097325476319691</id><published>2007-11-08T09:42:00.001-05:00</published><updated>2007-11-08T09:42:05.947-05:00</updated><title type='text'>Status report for 11/01/2007 to 11/07/2007</title><content type='html'>&lt;p&gt;1. I made a reading list about folksonomy at my &lt;a href="http://jychoi-report-cgl.blogspot.com/2007/11/reading-list-about-folksonomy-analysis.html"&gt;CGL blog&lt;/a&gt; or &lt;a href="http://del.icio.us/yyalli/folksonomy"&gt;del.icio.us&lt;/a&gt;. I will update the list frequently by adding related articles.&lt;/p&gt;  &lt;p&gt;2. Characteristics of Folksonomy Network&lt;/p&gt;  &lt;p&gt;The folksonomy networks show the following characteristics:&lt;/p&gt;  &lt;p&gt;a. Small-world Network &lt;/p&gt;  &lt;p&gt;Almost similar with a random network but having much larger clustering co-efficient factor. I.e., Small shortest path but a larger clustering coefficient. &lt;/p&gt;  &lt;p&gt;b. Scale-free Network&lt;/p&gt;  &lt;p&gt;A scale-free network is a network in which any two nodes can be connected no matter what the system size is. This is because there is a node called &amp;quot;hub&amp;quot;which is a highly connected node than any others. In folksonomies, popular keywords can act like this hub and thus the network shows scale-free network properties. &lt;/p&gt;  &lt;p&gt;A scale-free network shows the following rules:&lt;/p&gt;  &lt;p&gt;(1) Power law : Degree distribution follows the Yule-Simon distribution, which is called a power law: P(k) ~ k^(-r), where k is a degree of connectivity of a node and P(k) is it's probability&lt;/p&gt;  &lt;p&gt;(2) Preferential Attachment : A way to build a scale-free network. The idea is to make a connection with a more connected node. &lt;/p&gt;  &lt;p&gt;3. Next step&lt;/p&gt;  &lt;p&gt;a. Build a simple graph by using &lt;a href="http://gf14.ucs.indiana.edu/"&gt;CITEAM&lt;/a&gt; tag data&lt;/p&gt;  &lt;p&gt;b. Find some algorithms about recommendation&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-1569097325476319691?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/1569097325476319691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=1569097325476319691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/1569097325476319691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/1569097325476319691'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2007/11/status-report-for-11012007-to-11072007.html' title='Status report for 11/01/2007 to 11/07/2007'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-5162948732923001985</id><published>2007-11-04T12:31:00.001-05:00</published><updated>2007-11-21T14:14:13.585-05:00</updated><title type='text'>Reading list about folksonomy analysis</title><content type='html'>&lt;p&gt;(Also available at &lt;a title="http://del.icio.us/yyalli/folksonomy" href="http://del.icio.us/yyalli/folksonomy"&gt;http://del.icio.us/yyalli/folksonomy&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;Formal Model, Graph&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://portal.acm.org/citation.cfm?id=1242602&amp;amp;coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=5202035&amp;amp;CFTOKEN=64514759"&gt;The Complex Dynamics of Collaborative Tagging&lt;/a&gt;, HT 07 &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www2007.org/workshops/paper_13.pdf"&gt;Network Properties of Folksonomies&lt;/a&gt;, WWW 07 &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.kde.cs.uni-kassel.de/hotho/pub/2006/schmitz2006asso_ifcs.pdf"&gt;Mining Association Rules in Folksonomies&lt;/a&gt;, Data Science and Classification &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.cs.vu.nl/~pmika/research/papers/ISWC-folksonomy.pdf"&gt;Ontologies are us: A unified model of social networks and semantics&lt;/a&gt;, &lt;i&gt;Web Semant.&lt;/i&gt; 5, 1 (Mar. 2007) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://arxiv.org/abs/cs/0509072"&gt;Folksonomy as a Complex Network&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.kde.cs.uni-kassel.de/stumme/papers/2006/hotho2006trend.pdf"&gt;Trend detection in folksonomies&lt;/a&gt;, LNCS, 2006 &lt;/li&gt;    &lt;li&gt;&lt;a href="http://userver.ftw.at/%7Ezhdanova/papers/social_model.pdf"&gt;A Social Networking Model of a Web Community&lt;/a&gt;, &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Semantic Web&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://kmi.open.ac.uk/people/marta/papers/semnet2007.pdf"&gt;Bridging the Gap Between Folksonomies and the Semantic Web: An Experience Report&lt;/a&gt;, &lt;a href="http://www.kde.cs.uni-kassel.de/ws/eswc2007/program.html"&gt;ESWC 07&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Pattern, Structure&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://portal.acm.org/citation.cfm?id=1286240.1286288&amp;amp;coll=GUIDE&amp;amp;dl=GUIDE&amp;amp;type=series&amp;amp;idx=1286240&amp;part;=series&amp;amp;WantType=series&amp;amp;title=Conference%20on%20Hypertext%20and%20Hypermedia&amp;amp;CFID=41266454&amp;amp;CFTOKEN=91180607"&gt;Towards Better Understanding of Folksonomic Patterns&lt;/a&gt;, HT 07 &lt;/li&gt;    &lt;li&gt;&lt;a href="http://portal.acm.org/citation.cfm?id=1149941.1149949&amp;amp;coll=GUIDE&amp;amp;dl=GUIDE&amp;amp;type=series&amp;amp;idx=1149941&amp;part;=Proceedings&amp;amp;WantType=Proceedings&amp;amp;title=Conference%20on%20Hypertext%20and%20Hypermedia&amp;amp;CFID=41266454&amp;amp;CFTOKEN=91180607"&gt;HT06, tagging paper, taxonomy, Flickr, academic article, to read&lt;/a&gt;, HT 06 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Recommendation, Ranking, Trend&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.springerlink.com/index/h734wqn430821546.pdf"&gt;Tag Recommendations in Folksonomies&lt;/a&gt;, LNCS, 2007 &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.kde.cs.uni-kassel.de/stumme/papers/2006/hotho2006trend.pdf"&gt;Trend detection in folksonomies&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.kde.cs.uni-kassel.de/ws/eswc2007/proc/RecommendingSmartTags.pdf"&gt;Recommending Smart Tags in a Social Bookmarking System&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.kde.cs.uni-kassel.de/hotho/pub/2006/seach2006hotho_eswc.pdf"&gt;Information Retrieval in Folksonomies: Search and Ranking&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://portal.acm.org/citation.cfm?doid=1149941.1149962"&gt;Harvesting social knowledge from folksonomies&lt;/a&gt;, HT 06 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Tag Generation&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://portal.acm.org/citation.cfm?id=1242686&amp;amp;coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=5202035&amp;amp;CFTOKEN=64514759"&gt;P-TAG: large scale automatic generation of personalized annotation tags for the web&lt;/a&gt;, WWW 07 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;PageRank&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://infolab.stanford.edu/%7Ebackrub/google.html"&gt;The Anatomy of a Large-Scale Hypertextual Web Search Engine&lt;/a&gt;, Sergey Brin and Lawrence Page, 1998 &lt;/li&gt;    &lt;li&gt;&lt;a href="http://dbpubs.stanford.edu:8090/pub/showDoc.Fulltext?lang=en&amp;amp;doc=1999-66&amp;amp;format=pdf&amp;amp;compression=&amp;amp;name=1999-66.pdf"&gt;The PageRank Citation Ranking: Bringing Order to the Web&lt;/a&gt;, 1998 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Clustering (referred from Filippo Menczer's &lt;a href="http://www.informatics.indiana.edu/fil/Class/b659/schedule.html"&gt;class material&lt;/a&gt;)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://csdl.computer.org/dl/proceedings/itng/2006/2497/00/24970388.pdf"&gt;Web Page Recommender System based on Folksonomy Mining for ITNG &amp;#x2019;06 Submissions&lt;/a&gt;, ITNG '06, 2006&lt;/li&gt;    &lt;li&gt;&lt;a href="http://infoscience.epfl.ch/getfile.py?docid=12734&amp;amp;name=DeanH99&amp;amp;format=pdf&amp;amp;version=1"&gt;Finding related pages in the World Wide Web&lt;/a&gt;, Computer Networks, 1999&lt;/li&gt;    &lt;li&gt;&lt;a href="http://citeseer.ist.psu.edu/flake02selforganization.html"&gt;Self-Organization and Identification of Web Communities&lt;/a&gt;, IEEE Computer, 2002&lt;/li&gt;    &lt;li&gt;&lt;a href="http://portal.acm.org/citation.cfm?id=335429&amp;amp;dl="&gt;Finding replicated Web collections&lt;/a&gt;, ACM SIGMOD '00, 2000&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.pnas.org/cgi/content/abstract/99/12/7821"&gt;Community structure in social and biological networks&lt;/a&gt;, PNAS, 2002&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.pnas.org/cgi/content/abstract/101/9/2658"&gt;Defining and identifying communities in networks&lt;/a&gt;, PNAS, 2004&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Learning and Classification (referred from Filippo Menczer's &lt;a href="http://www.informatics.indiana.edu/fil/Class/b659/schedule.html"&gt;class material&lt;/a&gt;)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://citeseer.ist.psu.edu/joachims97text.html"&gt;Text Categorization with Support Vector Machines: Learning with Many Relevant Features&lt;/a&gt;, 1997&lt;/li&gt;    &lt;li&gt;&lt;a href="http://csdl.computer.org/dl/mags/ex/1998/04/x4018.pdf"&gt;Support Vector Machines&lt;/a&gt;, 1998&lt;/li&gt;    &lt;li&gt;&lt;a href="http://citeseer.ist.psu.edu/burges98tutorial.html"&gt;A Tutorial on Support Vector Machines for Pattern Recognition&lt;/a&gt;, 1998&lt;/li&gt;    &lt;li&gt;&lt;a href="http://portal.acm.org/citation.cfm?id=312624.312647"&gt;A re-examination of text categorization methods&lt;/a&gt;, ACM SIGIR, 1999&lt;/li&gt; &lt;/ul&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-5162948732923001985?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/5162948732923001985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=5162948732923001985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/5162948732923001985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/5162948732923001985'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2007/11/reading-list-about-folksonomy-analysis.html' title='Reading list about folksonomy analysis'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-3884371347656118427</id><published>2007-10-10T11:38:00.001-04:00</published><updated>2007-10-10T11:38:08.852-04:00</updated><title type='text'>Status report for 10/04/2007 to 10/10/2007</title><content type='html'>&lt;p&gt;&amp;#xA0;&lt;/p&gt;  &lt;p&gt;I have been searching articles about folksonomies in the Internet. Among them the followings are useful to understand:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.adammathes.com/academic/computer-mediated-communication/folksonomies.html"&gt;Folksonomies - Cooperative Classification and Communication Through Shared Metadata&lt;/a&gt; : Pros and cons about folksonomies. Future research areas. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://tomgruber.org/writing/ontology-of-folksonomy.htm"&gt;Ontology of Folksonomy&lt;/a&gt; : Roles of ontologies and folksonomies. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Some researches about folksonomy applications by using machine learning algorithms. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Visualizing Folksonomies using Machine Learning Algorithms &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.metablake.com/2007/01/learning-from-visual-folksonomy.html"&gt;Learning from a Visual Folksonomy: Automatically Annotating Images from Flickr&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://portal.acm.org/citation.cfm?doid=1242572.1242640"&gt;Optimizing web search using social annotations&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I have also started reading an introductory machine learning book, &amp;quot;Introduction to machine learning&amp;quot; by Ethem Alpaydin. During the next week, I will search and read more papers about folksonomies and machine learning.&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-3884371347656118427?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/3884371347656118427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=3884371347656118427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/3884371347656118427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/3884371347656118427'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2007/10/status-report-for-10042007-to-10102007.html' title='Status report for 10/04/2007 to 10/10/2007'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-2437730800523287042</id><published>2007-06-14T22:31:00.000-04:00</published><updated>2007-06-14T23:17:50.545-04:00</updated><title type='text'>Status Report for 06/07/07 to 06/13/07</title><content type='html'>Issues in using NWS &lt;br /&gt;1. Hostnames &lt;br /&gt;NWS’s memory service, which provides memory service to store NWS sensors’ data, saves data based on NWS sensors’ hostnames. (A hostname is a system name returned by gethostname or ‘hostname -–fqdn’)  This can be problem when a master and sensors installed in different clusters and a sensor’s hostname is not a public domain name, i.e., internal hostname. For example, BigRed's hostname is not for publicly accessible from the Internent, rather hostnames are for only internal uses. In this case, NWS’s information extractor, nws_extract , can not show correct data to a user. If the memory service is in the same cluster with sensors, it will be ok but no other sensors outside clusters will be allowed.    &lt;br /&gt;&lt;br /&gt;2. Manager nodes and computing nodes &lt;br /&gt;NWS’s bandwidth measurement may be incorrect depending on cluster’s topology. For instance, NCSA’s TeraGrid cluster consists of four manager nodes, which have all public hostnames and thus can be accessible from the Internet, and hundreds of computing nodes, whose hostname is not known unless submitting a job. To measure bandwidth before knowing which node will run a job can be difficult. To overcome this possible problem, knowledge on a cluster’s topology or managing policy will be required, if possible, by contacting a help desk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-2437730800523287042?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/2437730800523287042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=2437730800523287042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/2437730800523287042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/2437730800523287042'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2007/06/status-report-for-060707-to-061307.html' title='Status Report for 06/07/07 to 06/13/07'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36927913.post-3159661568722988526</id><published>2007-06-07T02:34:00.000-04:00</published><updated>2007-06-07T02:47:48.345-04:00</updated><title type='text'>Status Report for 05/31/07 to 06/06/07</title><content type='html'>NWS installation in TeraGrid&lt;br /&gt;&lt;br /&gt;I've installed a NWS client in a few TeraGrid clusters and in my local machine to measure network bandwidth information between them. To sum up, we need to run the followings for a master node and a client node&lt;br /&gt;&lt;br /&gt;a. Mater node&lt;br /&gt;nws_nameserver&lt;br /&gt;nws_memory&lt;br /&gt;nws_sensor&lt;br /&gt;&lt;br /&gt;b. Client node&lt;br /&gt;nws_sensor&lt;br /&gt;&lt;br /&gt;To start measuring, we need to submit the following command:&lt;br /&gt;&lt;blockquote&gt;start_activity -f file_name name_server&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;To extract measured values, type the following:&lt;br /&gt;&lt;blockquote&gt;nws_extract -N name_server -f time,measurement band from_node to_node&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Here is some outputs for network bandwidth:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;## Units: Megabits/second&lt;br /&gt;## E.g.,&lt;br /&gt;## 1181197165 (&lt;= This is time) 6.148710000(&lt;= This is bandwidth, Megabits/second) &lt;br /&gt;## Network bandwidth between a.ufo.edu and b.ufo.edu&lt;br /&gt;$ nws_extract -N nameserver.ufo.edu -f time,measurement,source,destination band a.ufo.edu b.ufo.edu&lt;br /&gt;Time       Measure     Source                          Destination&lt;br /&gt;1181197165 6.148710000 a.ufo.edu b.ufo.edu&lt;br /&gt;1181197285 6.142370000&lt;br /&gt;1181197405 6.135040000  &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36927913-3159661568722988526?l=jychoi-report-cgl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jychoi-report-cgl.blogspot.com/feeds/3159661568722988526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=36927913&amp;postID=3159661568722988526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/3159661568722988526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36927913/posts/default/3159661568722988526'/><link rel='alternate' type='text/html' href='http://jychoi-report-cgl.blogspot.com/2007/06/status-report-for-053107-to-060607.html' title='Status Report for 05/31/07 to 06/06/07'/><author><name>Jong Youl Choi</name><uri>http://www.blogger.com/profile/17216877143771828375</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15660777085912180919'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>