Propuesta para Trabajo de Grado - Pontificia Universidad Javeriana

Anuncio
Pontificia Universidad Javeriana
BOINC API
En este anexo se explica el funcionamiento básico del API de BOINC
Control de la aplicación
El api controla el flujo de la ejecución de las tareas, por medio de la función boinc_init() y la
función boinc_finish(int status).
Controla el acceso a los archivos de entrada y salida por medio de la función
boinc_resolve_filename(char *logical_name, char *physical_name, int len).
El control de la ejecución de la tarea incluye también reporte de hitos (checkpoints), reporte de
avances, control de multi-hilo y comunicaciones. Esto se accede desde el header boinc_api.h
De igual forma la administración de archivos de entrada y salida se controla desde el header
filesys.h
Página 1
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Métodos
A continuación se presentan los métodos del boinc_api.h
extern int boinc_init(void);
extern int boinc_finish(int status);
extern int boinc_get_init_data_p(struct APP_INIT_DATA*);
extern int boinc_parse_init_data_file(void);
extern int boinc_send_trickle_up(char* variety, char* text);
extern int boinc_set_min_checkpoint_period(int);
extern int boinc_checkpoint_completed(void);
extern int boinc_fraction_done(double);
extern int boinc_suspend_other_activities(void);
extern int boinc_resume_other_activities(void);
extern int boinc_report_app_status(
double cpu_time, double checkpoint_cpu_time, double _fraction_done
);
extern int boinc_time_to_checkpoint();
extern void boinc_begin_critical_section();
extern int boinc_try_critical_section();
extern void boinc_end_critical_section();
extern void boinc_need_network();
extern int boinc_network_poll();
extern void boinc_network_done();
extern void boinc_network_usage(double sent, double received);
extern int boinc_is_standalone(void);
extern void boinc_ops_per_cpu_sec(double fp, double integer);
extern void boinc_ops_cumulative(double fp, double integer);
extern void boinc_set_credit_claim(double credit);
extern int boinc_receive_trickle_down(char* buf, int len);
extern int boinc_init_options(BOINC_OPTIONS*);
extern int boinc_get_status(BOINC_STATUS*);
extern double boinc_get_fraction_done();
extern void boinc_register_timer_callback(FUNC_PTR);
extern double boinc_worker_thread_cpu_time();
extern int boinc_init_parallel();
extern void boinc_web_graphics_url(char*);
extern void boinc_remote_desktop_addr(char*);
A continuación se listan los métodos del filesys.h
Pontificia Universidad Javeriana
extern int boinc_delete_file(const char*);
extern int boinc_touch_file(const char *path);
extern FILE* boinc_fopen(const char* path, const char* mode);
extern int boinc_copy(const char* orig, const char* newf);
extern int boinc_rename(const char* old, const char* newf);
extern int boinc_mkdir(const char*);
extern int boinc_chown(const char*, gid_t);
extern int boinc_rmdir(const char*);
extern void boinc_getcwd(char*);
extern void relative_to_absolute(const char* relname, char* path);
extern int boinc_make_dirs(const char*, const char*);
extern char boinc_failed_file[MAXPATHLEN];
extern int is_file(const char* path);
extern int is_dir(const char* path);
extern int is_file_follow_symlinks(const char* path);
extern int is_dir_follow_symlinks(const char* path);
extern int is_symlink(const char* path);
extern int boinc_truncate(const char*, double);
extern int boinc_file_exists(const char* path);
extern int boinc_file_or_symlink_exists(const char* path);
Página 3
Preparado por el Grupo Investigación Istar- Versión 1.01 – 12/03/2008
Descargar