Free cookie consent management tool by TermsFeed Policy Generator

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-schema
    • Split 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 handling
  • Allow 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 Server
  • Refactor Slave (easier communication between core and executor)
  • Tests
  • Console Client
  • Windows Service Client
  • Installer for Slave
  • Windows 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 deleted
  • Correct 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 Log
  • FreeCores 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 Runs
  • Use Service-Call pattern from OKB (or PPOV-Cockpit)
  • Show StateLog - use Gantt Chart like view
  • Pause 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 plugin
  • use svcutil
  • write partial classes for dtos and implement IContent
  • build Observable Collections for Users/Slaves/Groups
  • add 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)

r5633 added Appointment/Schedule ws and dao methods

comment:36 Changed 13 years ago by cneumuel

r5636

  • 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

Last edited 13 years ago by cneumuel (previous) (diff)

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

Last edited 13 years ago by cneumuel (previous) (diff)

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

Last edited 13 years ago by cneumuel (previous) (diff)

comment:43 Changed 13 years ago by ascheibe

  • Description modified (diff)

r5711

  • 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

r5718

  • 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)

r5778

  • log uncaught exceptions to an eventlog if available
  • fixed job pause bug

comment:49 Changed 13 years ago by cneumuel

  • Description modified (diff)

r5779

  • 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

r5782

  • fixed job pause bug... again
  • general Executor improvements

comment:52 Changed 13 years ago by cneumuel

r5786

  • 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.