Google Summer of Code 2022 proposed ideas: Διαφορά μεταξύ των αναθεωρήσεων

Από Ελεύθερο Λογισμικό / Λογισμικό ανοιχτού κώδικα
Μετάβαση στην πλοήγηση Πήδηση στην αναζήτηση
Χωρίς σύνοψη επεξεργασίας
Χωρίς σύνοψη επεξεργασίας
Γραμμή 46: Γραμμή 46:
==== Mentors:[επεξεργασία | επεξεργασία κώδικα] ====
==== Mentors:[επεξεργασία | επεξεργασία κώδικα] ====
Alexios Zavras
Alexios Zavras
== Flexbench ==
==== Brief Explanation ====
Flexbench is a benchmarking tool used mostly for stress and performance testing of web application servers. It is a forked project from the http-traffic-simulator npm package, which was developed to provide simulated throttled http traffic for testing purposes, towards specific http endpoints. It utilizes the nodejs cluster module to generate http requests, by spawning multiple workers (balanced over the system cores) in the cluster, responsible to create clients that generate requests. This architecture enables the simulator to scale in really big throughputs. The main supported features are:
==== Duration of the Project ====
Depending on the scope and the technologies tackled
==== Expected Results ====
- Create a GUI using flutter - Offer it as desktop app (package it and make it run as a standalone app in Windows, macOS and Linux) - Offer it as a web server exposing REST APIs  - Support authentication and authorization for REST APIs, preferably with OpenIDC. - Support GraphQL - Migrate to typescript - Dockerize, produce the required artifacts to deploy to kubernetes. - Integrate Nginx proxy - Implement a DSL language to describe scenarios that can be executed by flexbench (eg. store a scenario under a .flxb file ) - Implement an editor for .flxb files with syntax highlighting support
==== Related repositories ====
https://github.com/flexivian/flexbench,
https://www.npmjs.com/package/http-traffic-simulator,
https://github.com/iskitsas/http-traffic-simulator
==== Knowledge Prerequisites ====
NodeJS, js, typescript, Html, Css, flutter, docker
==== Mentors:[επεξεργασία | επεξεργασία κώδικα] ====
NodeJS, js, typescript, Html, Css, flutter, docker




[[Κατηγορία:GSOC2022]]
[[Κατηγορία:GSOC2022]]
[[Κατηγορία:GSOC]]
[[Κατηγορία:GSOC]]

Αναθεώρηση της 06:57, 14 Φεβρουαρίου 2022

Contributors interested to participate should check which of the following projects fits their interests and skills.

Τo communicate with the mentors and ask questions about the projects, students should subscribe to this list and post relevant questions. Please follow the Proposal Template

For practical information, developers should visit this page.

Workflow and Parallelization patterns for Node-RED

Brief Explanation

Node-RED (https://nodered.org/) is a popular low code programming environment for event driven applications, particularly in the IoT world. It is based on a visual, browser based editor in which developers can write functions, wire them together to form a workflow, group a subset of functions into reusable and parametric subflows etc. Node-RED can interact with any API or service, thus its usage can be extended to be used in collaboration with other services, e.g. Function as a Service platforms, as an orchestrator.

Expected Results

The purpose of the work is to exploit Node-RED's subflow and workflow features in order to implement reusable flows that can be shared through Node-RED's repository. The initial scope of the flows is around workflow primitives for easier workflow creation, parallelization patterns (e.g. migrating logic and patterns from MPI to node-red, implementation of orchestration logic for parallel AI operations and learning etc). This can be coupled with function creation for executing the workflows in state of the art function as a service environments like Openwhisk, for actual computational parallelism.  

Related repositories

https://flows.nodered.org/,

https://github.com/node-red,

https://flows.nodered.org/flow/7a5acfc999b1ad47bb32b5d37419c777,

https://gist.github.com/gkousiouris/7a5acfc999b1ad47bb32b5d37419c777

Knowledge Prerequisites

Javascript,  Knowledge of Node-RED or FaaS is a plus

Mentors:[επεξεργασία | επεξεργασία κώδικα]

George Kousiouris, Christos Diou

Build recorder: A system to record what goes on when a software is being built.

Brief Explanation

The purpose of a project is to fully record the interactions between assets (files and tools) when a software component is being built (compiled). For example, when compiling a software written in C,the system will record the source files being compiled, the generated object files being linked, the final executable, as well as the compiler used, the options given, and the environment.

Duration of the Project

Can be either a short or a long-term project, depending on the scope and the technologies tackled.

Related repositories

New project, no existing repo available.

Knowledge Prerequisites

one or (preferably) more of compiled languages: C, C++, Go, Rust, Java, ...

Mentors:[επεξεργασία | επεξεργασία κώδικα]

Alexios Zavras


Flexbench

Brief Explanation

Flexbench is a benchmarking tool used mostly for stress and performance testing of web application servers. It is a forked project from the http-traffic-simulator npm package, which was developed to provide simulated throttled http traffic for testing purposes, towards specific http endpoints. It utilizes the nodejs cluster module to generate http requests, by spawning multiple workers (balanced over the system cores) in the cluster, responsible to create clients that generate requests. This architecture enables the simulator to scale in really big throughputs. The main supported features are:

Duration of the Project

Depending on the scope and the technologies tackled

Expected Results

- Create a GUI using flutter - Offer it as desktop app (package it and make it run as a standalone app in Windows, macOS and Linux) - Offer it as a web server exposing REST APIs - Support authentication and authorization for REST APIs, preferably with OpenIDC. - Support GraphQL - Migrate to typescript - Dockerize, produce the required artifacts to deploy to kubernetes. - Integrate Nginx proxy - Implement a DSL language to describe scenarios that can be executed by flexbench (eg. store a scenario under a .flxb file ) - Implement an editor for .flxb files with syntax highlighting support

Related repositories

https://github.com/flexivian/flexbench, 

https://www.npmjs.com/package/http-traffic-simulator, https://github.com/iskitsas/http-traffic-simulator

Knowledge Prerequisites

NodeJS, js, typescript, Html, Css, flutter, docker

Mentors:[επεξεργασία | επεξεργασία κώδικα]

NodeJS, js, typescript, Html, Css, flutter, docker