Comments (2)
Code Ocean currently uses a single Docker server, which has to be configured using the docker.yml
. However, the utilized gem wrapping Docker's API should support connecting to multiple Docker servers.
Besides calls to Docker's API, executing a code submission involves the following file system operations:
- Creating a submission-specific directory and a virtual volume. This already happens when a container is added to the container pool.
- Creating submission-specific files. This happens shortly before code execution.
- Cleaning up the directory. This happens shortly after execution.
As multi-server environments were not relevant yet, file system operations are not implemented in a generic fashion. Currently, these operations are performed locally in a directory expected to be accessible for the Docker server.
An alternative strategy could be creating and deleting file system objects using SFTP.
from codeocean.
With the introduction of Poseidon, we've come closer to allow a hybrid deployment of CodeOcean. With Poseidon, CodeOcean and the code execution are decoupled, and are run on different machines. The two services communicate through a REST API, which also includes support for remote file operations.
Further, we've integrated AWS Lambda as a serverless solution for CodeOcean and successfully showed the feasibility (and limitations) of this technology for the given use case. More details are available in the following publication:
S. Serth, M. Paß, C. Meinel: On the Feasibility of Serverless Functions in the Context of Auto-Graders. In: 2023 IEEE German Education Conference (GeCon). 6 pages. IEEE, Berlin, Germany (2023).
Therefore, I am closing this issue has being resolved.
from codeocean.
Related Issues (20)
- LTI: Replace result on every "Score"
- Tips: Allow creation by teachers
- Prevent Score Button Spamming HOT 2
- Rename user to contributor in all relevant places
- Update proforma gem to v0.9 HOT 3
- Submission Statistics for Programming Groups
- Add show route for programming_group
- Add statistic graphs for exercise also for programming_groups
- Support multiple files in the synchronized editor
- Sentry: Add Performance Spans
- Refactor SynchronizedEditorChannel connect / confirmation
- Distribute ActionCable load/work
- WebSocket connection closed without (our custom) closing frame in case of a timeout HOT 5
- Pair Programming: Improve connection information
- Synchronised Editor: Large events fail HOT 1
- Allow programming groups with more than two people
- Add programming groups exercise statistics page
- Document LTI parameters
- Submitting code might fail with embed_options_disable_rfc HOT 2
- Import UUID check: Handle empty UUID
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from codeocean.