Opened 14 years ago
Last modified 12 years ago
#1233 closed enhancement
Hive-3.4 development — at Version 53
Reported by: | cneumuel | Owned by: | cneumuel |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.6 |
Component: | Hive.General | Version: | 3.3.6 |
Keywords: | Cc: | ascheibe |
Description (last modified by cneumuel)
Server
Refactor domain objects and db-schemaSplit info-objects and data-objects (like Job and JobData)
Data Access Layer (more consistent method names, more compact code, inspired by OKB)Split transaction and db-context handlingAllow uploading of plugins for a job (or hiveexperiment)Make WCF service completely stateless. Put all remaining state-information into the database (latestHeartbeats, latestConsistencyCheck, newlyAssignedJobs (remove completely and solve by adding a heartbeat))StateLog: Log state transitions of jobs.- Statistics
- Measure core capacity and utilization every minute
- Measure CPU and memory capacity and utilization every minute
- Reliably measure the execution time spent on hive per user / per slave / in total. Also measure speedup values (maybe also per minute). Keep jobs deleted jobs in database (flag them) - only delete JobData, plugins ect.
- Number of experiments / jobs (per user). Job per slave
- Calculate overall productivity per job (waiting time vs. computation time)
- Scheduler
- Consider waiting time to avoid starvation
- Users should have priorities
- A user should be able to manage priorities only in the scope of his own experiments
- Childjobs should automatically have the priorities of their parent jobs
- Precomputed job-queue
Fix wrong timestamps in statelog on services.heuristiclab.com
Slave
Adapt Slave for new ServerRefactor Slave (easier communication between core and executor)TestsConsole ClientWindows Service ClientInstaller for SlaveWindows Tray Icon for Slave- HL App Client
Sort out problem with uploaded, modified assemblies which aren't downloaded to the slave; Add GUIDs to PluginCache- Heartbeat interval should be controllable by the server
Creation of a unique Id for a machine which does not change if the config is deletedCorrect total physical memory available for a slave (ConfigManager)- Test sandboxing and security of appdomains. If any assemblies can be uploaded by users, becomes very important.
React on SayHello action (call Hello service method)- Send cpu utilisation with every heartbeat
Log exceptions to Windows Event LogFreeCores needs to be decremented right after a CalculateJob message has been received. Otherwise a slave reports free cores which are already reserved for new jobs.- PluginTemp directory should be cleaned up from time to time (or on startup)
Experiment Manager
Show jobs in treeview. Would greatly save screen space and navigation-clicks- to be enhanced (event wiring)
- Sort HiveExperiments alphabetically
Plugin-Upload (optional)- Experiment Sharing
Appropriate numbering of RunsUse Service-Call pattern from OKB (or PPOV-Cockpit)Show StateLog - use Gantt Chart like viewPause and stop single jobs- Paused jobs should not be integrated into experiment, so results are not lost. Parameters of paused jobs should be changable (and used when resumed).
Hive Engine
- HiveEngine jobs should have a HiveExperiment, which is marked, so a user cannot see it in HiveExperimentManager. However it should be visible in Administration GUI. If a Hive Engine crashes and cannot delete the experiment, this should be detected by the server and it should be automatically deleted.
- Improve HiveEngine View (list of jobs, with status ect.)
Administration
Missing WebService Methods:
GetAllHiveExperiments- GetUsers
- GetUserStatistics
- GetGlobalStatistics (for Statistics TabPage)
GetScheduleForResource (+ Add/Update/Delete)
TODOS:
convert HeuristicLab.Calender to a pluginuse svcutilwrite partial classes for dtos and implement IContentbuild Observable Collections for Users/Slaves/Groupsadd ContentViews for Users and SlaveGroups- show some fancy statistics
add Save Button- integrate HeuristicLab.Services.Hive.Common-3.4 in Server
get rid of HiveItem etc. on Server
Client Management Integration
User Management Integration
Change History (53)
comment:1 Changed 14 years ago by cneumuel
- Status changed from new to accepted
comment:2 Changed 14 years ago by cneumuel
- Version changed from 3.3 to branch
comment:3 Changed 13 years ago by cneumuel
- Summary changed from Refactore Hive Project Structure to Hive-3.4 development
comment:4 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:5 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:6 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:7 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:8 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:9 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:10 Changed 13 years ago by cneumuel
- Cc ascheibe added
comment:11 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:12 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:13 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:14 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:15 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:16 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:17 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:18 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:19 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:20 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:21 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:22 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:23 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:24 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:25 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:26 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:27 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:28 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:29 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:30 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:31 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:32 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:33 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:34 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:35 Changed 13 years ago by ascheibe
- Description modified (diff)
comment:36 Changed 13 years ago by cneumuel
- updated jobstates documentation
- enhanced ganttChart
- fixed setting of jobstates
- added option to force lifecycle-trigger (mainly for testing purposes)
comment:37 Changed 13 years ago by cneumuel
- Description modified (diff)
r5637 added treeview for hive jobs in experiment manager
comment:38 Changed 13 years ago by ascheibe
r5638 worked on Administration UI
comment:39 Changed 13 years ago by cneumuel
r5675 improved treeview for hive jobs
comment:40 Changed 13 years ago by ascheibe
- Description modified (diff)
r5676 worked on Administration UI
comment:41 Changed 13 years ago by ascheibe
r5677 some minor ui fixes for slave
comment:42 Changed 13 years ago by cneumuel
r5708 changed the way transactions are handled
comment:43 Changed 13 years ago by ascheibe
- Description modified (diff)
- use SlaveComm Endpoint from app.config
- various further slave bugfixes/cleanups
- added preliminary icon for hive slave ui and some slave ui improvements
- added resource deletion to admin ui
- fix service exception thrown if there is no EventLog
comment:44 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:45 Changed 13 years ago by cneumuel
- Description modified (diff)
comment:46 Changed 13 years ago by cneumuel
- fixed statelog when time on server differs from slave or client
- fixed wrong creation of childjobs in experiment manager
- made ganttchardview the default view for statelogs
comment:47 Changed 13 years ago by ascheibe
r5721 worked on slave and slave service installer
comment:48 Changed 13 years ago by ascheibe
- Description modified (diff)
- log uncaught exceptions to an eventlog if available
- fixed job pause bug
comment:49 Changed 13 years ago by cneumuel
- Description modified (diff)
- implemented pause, stop for single jobs
- introduced Command property for jobs (to distinguish between state and command (abort vs. aborted))
- improved behaviour of ItemTreeView (double click opens new window, selected item stays marked)
- fixed bugs in StateLogGanttChartListView and HiveJobView
- fixed cloning of client-side dtos
comment:50 Changed 13 years ago by ascheibe
r5780 various improvments on the service installer and slave tray icon
comment:51 Changed 13 years ago by ascheibe
- fixed job pause bug... again
- general Executor improvements
comment:52 Changed 13 years ago by cneumuel
- implemented correct numbering of BatchRuns
- improvements in ExperimentManager
- fixed bug in server (jobs were scheduled multiple times)
- added exception handling for task in slave
- improved timeout handling of jobs (LifecycleManager)
comment:53 Changed 13 years ago by cneumuel
- Description modified (diff)
Note: See
TracTickets for help on using
tickets.
r5633 added Appointment/Schedule ws and dao methods