Main BLOGGER
Google
WWW THIS BLOG
Tuesday, June 27, 2006
 
Readings about Grid Computing

Introductory Papers:

  • A Concise Introduction to Autonomic Computing,” R. Sterritt, M. Parashar, H. Tianfield and R. Unland, Journal of Advanced Engineering Informatics, Engineering Applications of Artificial Intelligence, Special Issue on Autonomic Computing and Automation, Elsevier Publishers, 2005.
  • Computational Grids., I. Foster, C. Kesselman. Chapter 2 of "The Grid: Blueprint for a New Computing Infrastructure", Morgan-Kaufman, 1999. [Citation, PDF]

 Data Grids:

Survey and Taxonomy Papers:

Autonomic Grid Computing Papers:

 

Classical Papers:

Grid Programming Models and Paradigms:

Grid Application Papers:

Grid Workflow:

Web Services and Grid Services:

  • HAND: Highly Available Dynamic Deployment Infrastructure for Globus Toolkit 4. L. Qi, H. Jin, I. Foster, J. Gawor. Submitted for Publication, 2006. [Citation, PDF]
  • State and Events for Web Services: A Comparison of Five WS-Resource Framework and WS-Notification Implementations. M. Humphrey, G. Wasson, K. Jackson, J. Boverhof, M. Rodriguez, Joe Bester, J. Gawor, S. Lang, I. Foster, S. Meder, S. Pickles, and M. McKeown, 4th IEEE International Symposium on High Performance Distributed Computing (HPDC-14), Research Triangle Park, NC, 24-27 July 2005. [Citation, PDF]
  • The Open Grid Services Architecture, Version 1.0. I. Foster, H. Kishimoto, A. Savva, D. Berry, A. Djaoui, A. Grimshaw, B. Horn, F. Maciel, F. Siebenlist, R. Subramaniam, J. Treadwell, J. Von Reich. Informational Document, Global Grid Forum (GGF), January 29, 2005.
  • This document provides information to the community regarding the specification of the Open Grid Services Architecture (OGSA). It does not define any standards or technical recommendations. [Citation, PDF]
  • Open Grid Services Architecture Use Cases. I. Foster, D. Gannon, H. Kishimoto, J. Von Reich. Information Document, Global Grid Forum (GGF), October 28, 2004. [Citation, PDF]
  • Modeling Stateful Resources with Web Services v. 1.1. I. Foster (ed), J. Frey (ed), S. Graham (ed), S. Tuecke (ed), K. Czajkowski, D. Ferguson, F. Leymann, M. Nally, I. Sedukhin, D. Snelling, T. Storey, W. Vambenepe, S. Weerawarana, March 5, 2004. [Citation, PDF]
  • The WS-Resource Framework. K. Czajkowski, D. F. Ferguson, I. Foster, J. Frey, S. Graham, I. Sedukhin, D. Snelling, S. Tuecke, W. Vambenepe. March 5, 2004. [Citation, PDF]
  • From Open Grid Services Infrastructure to WS-Resource Framework: Refactoring & Evolution. K. Czajkowski, D. Ferguson, I. Foster, J. Frey, S. Graham, T. Maguire, D. Snelling, S. Tuecke. March 5, 2004. [Citation, PDF]
  • Publish-Subscribe Notification for Web services. S. Graham (ed), P. Niblett (ed), D. Chappell, A. Lewis, N. Nagaratnam, J. Parikh, S. Patil, S. Samdarshi, I. Sedukhin, D. Snelling, S. Tuecke, W. Vambenepe, B. Weihl, March 5, 2004. [Citation, PDF]
  • Open Grid Services Infrastructure (OGSI) Version 1.0. S. Tuecke, K. Czajkowski, I. Foster, J. Frey, S. Graham, C. Kesselman, T. Maguire, T. Sandholm, P. Vanderbilt, D. Snelling; Global Grid Forum Draft Recommendation, 6/27/2003. [Citation, PDF]
  • Grid Services for Distributed System Integration. I. Foster, C. Kesselman, J. Nick, S. Tuecke. Computer, 35(6), 2002. [Citation, PDF]
  • The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration. I. Foster, C. Kesselman, J. Nick, S. Tuecke, Open Grid Service Infrastructure WG, Global Grid Forum, June 22, 2002. (extended version of Grid Services for Distributed System Integration) [Citation, PDF]  

Globus Toolkit:

  • Globus Toolkit Version 4: Software for Service-Oriented Systems. I. Foster. IFIP International Conference on Network and Parallel Computing, Springer-Verlag LNCS 3779, pp 2-13, 2005. This paper is an excellent introduction to the Globus Toolkit 4.0 and its use. [Citation, PDF]
  • The Globus Project: A Status Report. I. Foster, C. Kesselman. Proc. IPPS/SPDP '98 Heterogeneous Computing Workshop, pp. 4-18, 1998.
    Describes the status of the Globus system as of early 1998. [
    Citation, PS, PDF]
  • Globus: A Metacomputing Infrastructure Toolkit. I. Foster, C. Kesselman. Intl J. Supercomputer Applications, 11(2):115-128, 1997.
    Provides an overview of the Globus project and toolkit. [
    Citation, PS, PDF]
  • Other research papers and documents are available at Globus Web Site.

 

Scheduling:

 

 


Sunday, June 25, 2006
 
Ajax: A new Approach to Web Application

http://www.adaptivepath.com/publications/essays/archives/000385.php

Quoted from above web site.

Take a look at Google Suggest. Watch the way the suggested terms update as you type, almost instantly. Now look at Google Maps. Zoom in. Use your cursor to grab the map and scroll around a bit. Again, everything happens almost instantly, with no waiting for pages to reload.

Google Suggest and Google Maps are two examples of a new approach to web applications that we at Adaptive Path have been calling Ajax. The name is shorthand for Asynchronous JavaScript + XML, and it represents a fundamental shift in what’s possible on the Web.

Another website with an Ajax example at

http://java.sun.com/developer/technicalArticles/J2EE/AJAX/


Website for CSS and Javascript:

http://www.quirksmode.org/


Friday, June 23, 2006
 
WSRF.NET message tracing
In visual studio, open the wse 3.0 property in solution explorer. check the box for message tracing in Diagnotics tab.

Wednesday, June 21, 2006
 
using inter-process lock

In Linux

A tutorial on how to use flock

http://www.ecst.csuchico.edu/~beej/guide/ipc/flock.html

Linux command: ipcs and ipcrm ACE

In ACE

ACE_OS::flock_xxx is a wrapper facility on top of flock which is fully supported in Linux 2.4.

In windows 2003 server, it is not working well. Instead, we can use ACE_Process_Mutex

Note:

Essentially, the initialization of a lock is to open a file. In order to avoid file handler leaking, we need to call flock_destroy() or delete the ACE_Process_Mutex object.

If we fail to get the lock by trywrlock(), we call flock_destroy() to release the file handler created in flock_init(), but we have to use “0” to indicate that we do not want to unlink the file; else it will break the lock if other processes depends on this file.

In Linux, the process_mutex is implemented by semaphore. Semaphore is a system wide resource. It will lead to serious situation if there is a leak on it. You can use ipcs or ipcrm to dump and control semaphore.

While flock will be released once the process is gone, therefore, it is much safer in case the process could be possibly killed abnormally.

Here is the code snippet.

#if !defined(WIN32) //in Linux

void SymLoggerControl::finiLog()

{

ACE_OS::flock_destroy(&m_flock);

}

int SymLoggerControl::initAutoIndex(const SymString &filename, const SymString &i_name)

{

const int MAX_TRY = 1000;

int iret = -1;

if (i_name != "sim")

return iret;

SymString fstr;

SymString lockName;

for (int i=1; i<MAX_TRY;i++)

{

fstr = filename + "." + intToString(i) + ".log";

lockName = "."+i_name + intToString(fstr.hash());

if (ACE_OS::flock_init(&m_flock,O_CREAT|O_RDWR,lockName.c_str(),0600)!=0)

continue;

if (ACE_OS::flock_trywrlock(&m_flock)!=0)

{

//we use 0 to indicate that the destroy can not unlink the file

//else it breaks the lock on other processes

ACE_OS::flock_destroy(&m_flock,0);

continue;

}

setAutoIndex(i);

return iret;

}

setAutoIndex(0);

return -1;

}

#else

void SymLoggerControl::finiLog()

{

if (m_logfileLock)

m_logfileLock->release();

}

int SymLoggerControl::initAutoIndex(const SymString &filename, const SymString &i_name)

{

if (i_name != "sim")

return 0;

const int MAX_TRY = 1000;

SymString lockName;

SymString fstr;

for (int i=1; i< MAX_TRY;i++)

{

fstr = filename + "." + intToString(i) + ".log";

lockName = i_name + intToString(fstr.hash());

// try to get the lock.

ACE_NEW_RETURN(m_logfileLock, ACE_Process_Mutex(lockName.c_str()), -1);

if (m_logfileLock->tryacquire() != 0)

{

//avoid memory leak

SAFE_DELETE(m_logfileLock);

continue;

}

setAutoIndex(i);

return 0;

}

setAutoIndex(0);

return -1;

}


Wednesday, June 14, 2006
 
generic wrapper for logger

Ggeneralized the service wrapper script that does stdout+err redirection to a file

It's literally 3-4 dead simple lines of code

 

ServiceWrapper (must be made executable with something like chmod a+x ServiceWrapper)

 

#!/bin/bash -f
# -f: do not source .bashrc (for speed)
# Alain Andrieux, Platform

 

# Wrapper script for stdout/err redirection, service troubleshooting, etc...

# To use this wrapper instead of the service executable:
# 1) specify the startCmd of the service in the application profile as such:
# startCmd="${SOAM_DEPLOY_DIR}/ServiceWrapper MyServiceExecutable"
# 2) package this file along with the service executable
#
# To stop using this script, simply change the
# service startCmd in the app profile back to:
# startCmd="${SOAM_DEPLOY_DIR}/MyServiceExecutable"

 

serviceExeName=$1

shift

outputFile=$SOAM_HOME/work/$serviceExeName.$HOSTNAME.log

# The service deployment dir is in the PATH, so no need for absolute path
$serviceExeName $* >> $outputFile 2>&1

 

# Note:
# If the service executable name is ommitted or incorrect, the following kind of# error message will appear in the SIM log:
# 2006-06-14 16:57:36.399 GMT ERROR [22435:35433392] sim.backend.ServiceBroker - [-905929660] (1, 10, 40004)  SimBasicSiAdaptor.cpp:461   Domain <Application>: Failed to start the service instance, service name /home/sc49285/soam/deploy/PLGridService 1.0.v8/ServiceWrapper. The service startCmd command specified in the Application Profile terminated unexpectedly with exit code: 0 State:Exit. Check your Application Profile, whether the services dependent libraries can load and your service code.

 


Monday, June 12, 2006
 
how to add citation reference in word

An extremely useful skill but can not find it anywhere.

 

Here is my finding.

 

1. Create a list of referenced papers, and using “[ index ] “

 

Select them, click [Format] à [bullet and numbering…] à [customize] à [number format] to add [ ]

 

2.  In the document, insert a citation

 

Click [Insert] à [ reference ] à [ cross –reference ], in “Reference Type” choose Numbered item, then in “For which numbered item”, it will show the newly added list. Choose one from the list (check Insert as hyperlink)

 

 



Powered by Blogger

Google
WWW THIS BLOG