Extensão do Motor de Execução para Problemas Interativos, Sandbox SQL e Isolamento Determinístico de Desempenho
Implementação de Interactive Run, Environment Setup Run (SQL) e estudo de determinismo com runguard, isolate, nsjail e cgroups v2
Código: TCC 04 · Trilha: Trilha 1: Sistemas e Juízes · Status: Disponível · Modalidade: Sistema / Sistemas Operacionais + Benchmark · Perfil: Individual · Complexidade: Alta · Regime Ético: Sem CEP (Computacional)
1. Contexto e Problema
O baseline WOKDEX opera apenas com execução padrão (stdin -> stdout) e scripts básicos de comparação. Isso impede seu uso em conteúdos essenciais de Engenharia de Computação — como Banco de Dados/SQL via Environment Setup Run e Algoritmos Interativos via Interactive Run — e compromete a confiabilidade dos cenários PERFORMANCE: em ambientes virtualizados ou compartilhados, variações de CPU (noisy neighbors) causam oscilação no tempo de parede (wall-clock), gerando falsos positivos de TLE ou instabilidade na modulação HMD.
Nos materiais arquivados da tese (cap04-implementacao-detalhada.tex), havia 6 modelos de Run Scripts e Compare Scripts avançados que ficaram fora do baseline congelado.
2. O que será feito (Objetivos Técnicos e Escopo)
- Investigar mecanismos modernos de sandboxing em Linux (
runguarddo DOMjudge,isolate,nsjail,cgroups v2e contadores de hardwareperf/ instruções executadas) para reduzir a variância de medição em cenáriosPERFORMANCE; - Implementar suporte no motor WOKDEX para ao menos dois novos Run Scripts arquivados em
cap04-implementacao-detalhada.tex: Environment Setup Run (instância efêmera de SQLite/PostgreSQL para exercícios de SQL com cenários de erro conceitual de consultas) e Interactive Run (comunicação bidirecional via pipes com programa interactor); - Implementar e validar Compare Scripts pedagógicos (tolerância de ponto flutuante, normalização de prompts interativos para CS1 e geração estruturada de
judgement.txt); - Avaliar determinismo (desvio padrão de tempo/instruções sob carga concorrente), sobrecarga de isolamento e taxa de detecção de falhas em suíte controlada.
3. Perguntas para você refletir
Se você se identifica com as questões abaixo, este tema pode ser uma boa escolha:
- Por que medir “tempo de parede” (wall-clock) falha em ambientes multi-tenant ou conteinerizados, e até que ponto
cgroups v2ou contagem de instruções mitigam essa variância? - Como orquestrar comunicação bidirecional segura via pipes entre submissão e interactor evitando deadlocks e vazamento de recursos?
- Como estruturar cenários
MISCONCEPTIONespecíficos para consultas SQL (ex.: ausência deGROUP BY,JOINcartesiano acidental)?
4. Divisão Sugerida (TCC 1 e TCC 2)
- TCC 1: Estudo comparativo de sandboxes (
runguard,isolate,nsjail,cgroups v2), especificação dos Run/Compare Scripts e protocolo de experimento de determinismo. - TCC 2: Implementação dos executores/comparadores em ambiente Linux isolado e execução dos benchmarks de variância sob estresse de CPU/memória.
5. Entregáveis e Métricas de Avaliação
6. Pré-requisitos e Tecnologias Sugeridas
- Base necessária: forte base em Linux, Sistemas Operacionais (processos, pipes, namespaces,
cgroups), C/C++/Python e Banco de Dados SQL. - Tecnologias e conceitos envolvidos:
runguard,isolate,nsjail,cgroups v2,perf, SQLite/PostgreSQL efêmero, testes de estresse.
7. Origem e Ponto de Partida
- Origem na pesquisa WOKDEX:
apendices/arquivo-editorial/cap04-implementacao-detalhada.tex(6 Run Scripts: Interactive Run, Environment Setup Run, Chained Run e Compare Scripts);cap05-implementacao.tex(JudgeHost/runguard/cgroups);apendices/docs/wok-format/RUN_SCRIPTS.pt.mdeCOMPARE_SCRIPTS.pt.md.
- Consulte também o guia de Metodologia e Ética.
8. Como demonstrar interesse
Antes de agendarmos uma conversa, prepare respostas curtas para:
- Por que esse tema chamou sua atenção?
- Qual frente você domina ou quer aprofundar mais: sandboxing/determinismo em Linux ou executores SQL/interativos?
- Qual sua disponibilidade semanal estimada para o TCC?